两只鼹鼠

原创 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;
}


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

相关文章推荐

打鼹鼠

题目:打鼹鼠Time Limit:10000MS Memory Limit:65536K Total Submit:303 Accepted:120 Case Time Limit:1000M...

鼹鼠报数

★实验任务 Winder 养了一群会报数的鼹鼠,而且 Winder 喜欢用数字给他的鼹鼠们编号,如“ 311”、 “ 1048”等。当然,为了不混淆,鼹鼠们的编号都是不同的。为了锻炼鼹鼠们的身体健...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

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

NOI Openjudge 4975 两只鼹鼠

[HNOI2004] 打鼹鼠

动规Dp

打鼹鼠

Description鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。 根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格...

BZOJ1207: [HNOI2004]打鼹鼠

1207: [HNOI2004]打鼹鼠 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3119  Solved: 1517 [Submit][...

BZOJ1207: [HNOI2004]打鼹鼠

鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气。你可以控制...

NKOJ 3702 打鼹鼠

NKOJ 3702 打鼹鼠问题描述在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去。洞口都在一个大小为n(n<=1024)的正方形中。这个正方形在一个平面直角坐标系中,左下角为...

【VIJOS】P1512SuperBrother打鼹鼠

背景 SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊......),于是便无聊地开始玩“打鼹鼠”...... 描述 在这个“打鼹鼠”的游戏中,...

bzoj1207【HNOI2004】打鼹鼠

DP水题
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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