两只鼹鼠

原创 2016年05月31日 18:49:14
总时间限制: 
1000ms 
内存限制: 
65536kB
描述

一个圆形花圃被分为k个扇形区域(0,1,…,k-1)。有两只小鼹鼠AB分别位于其中的两个区域。鼹鼠从一个扇形区域移动到相邻的区域需要1分钟。已知A鼹鼠总是沿顺时针方向移动(序号增大)B鼹鼠总是沿逆时针方向移动(序号减小),两只鼹鼠都是每隔一段时间钻出地面一次。请你求出两只鼹鼠第一次同时在同一个扇形区域钻出地面的时间。如果永远遇不到,则输出“no answer”


输入
第一行为一个整数k,表示扇形区域的个数。1 <= k< = 10000
第二行为两个整数la,lb分别表示两只鼹鼠初始时所处的位置。0 <= la, lb < k。
第三行为两个整数ia,ib分别为两只鼹鼠钻出地面的间隔时间。0 < ia, ib < 100。
第四行为两个整数fa,fb分别为两只鼹鼠第一次钻出地面的时间。0 <= fa < ia, 0 <= fb < ib。
输出
用一个整数表示两只鼹鼠第一次同时在同一个扇形区域钻出地面的时间。
若两只鼹鼠永远无法相遇,输出“no answer”。
样例输入
7
1 5
3 5
1 2
样例输出
37



先找出他们碰头的时间,然后去询问这段时间他们是否同时出头


#include <iostream>
#include <cstring>
using namespace std;
int n;
int la,lb;
int ia,ib;
int fa,fb;
int a[10000];

int judge()
{
    int lq, xq;
    if(n%2==0)
    {

        lq=(lb-la+n)%n;
        if(lq%2!=0)return -1;
        lq=lq/2;
        xq=n/2;
    }
    else
    {
        lq=(lb-la+n)%n;
        if(lq%2==0)lq=lq/2;
        else lq=(lq+n)/2;
        xq=n;

    }
  //  cout<<lq<<" "<<xq<<endl;
  int sum=0;
    while(1)
    {
        int t1=(lq-fa)%ia;
        int t2=(lq-fb)%ib;
        //    cout<<lq<<"--"<<t1<<" "<<t2<<endl;
        if(t1==t2&&t1==0)
            return lq;
        lq+=xq;
       // cout<<a[t1]<<endl;
        if(a[t1]==t2)return -1;
        a[t1]=t2;
        sum++;
        if(sum>900000)return -1;
    }


}
int main()
{

    cin>>n;
    cin>>la>>lb;
    cin>>ia>>ib;
    cin>>fa>>fb;
   for(int i=0;i<n;i++)
    a[i]=-1;
    int s=judge();

    if(s>=0)
        cout<<s<<endl;
        else
            cout<<"no answer"<<endl;
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

4975: 区间翻转

Description 小Q和tangjz正在一个长度为n的序列a_1,a_2,...,a_n上玩一个有趣的关于区间翻转的游戏。小Q和tangjz轮流行动 ,小Q先手。每次行动方玩家需要选择一...

欧几里得算法初步 & NOI Openjudge 4975 两只鼹鼠

NOI Openjudge 4975 两只鼹鼠

Git学习

昨天闲来无事,突然发现自己竟然还不会玩转Git,对于一个立志要做技术大牛的人来说简直是不能忍受的事,于是乎,赶紧脑补了一下教程,主要是廖雪峰的blog上的,https://www.liaoxuefen...

抱歉

http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1003&cid=22619

鼹鼠家族之发明世纪搜狗皮肤.ssf

  • 2015年05月26日 17:45
  • 451KB
  • 下载

打鼹鼠 动态规划 Pascal

  • 2010年08月27日 13:38
  • 1KB
  • 下载

bzoj1207【HNOI2004】打鼹鼠

DP水题

JAVA课程设计棒打鼹鼠程序

  • 2008年12月11日 21:53
  • 9KB
  • 下载

鼹鼠乐乐2012屏保

  • 2012年09月17日 01:36
  • 2.87MB
  • 下载

打鼹鼠_SSL1506_DP_水

Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。    根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一...
  • jpwang8
  • jpwang8
  • 2016年06月03日 20:09
  • 279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:两只鼹鼠
举报原因:
原因补充:

(最多只允许输入30个字)