首页 > 其他 > 详细

【luogu1563】【niop2016】玩具谜题

时间:2019-02-12 20:45:06      阅读:173      评论:0      收藏:0      [点我收藏+]

luogu1563

快乐刷水题诶嘿嘿嘿技术分享图片

是逆时针方向!!!朝内是0,朝外是1,向左数是0,向右数是1

可以发现,如果为0 0或者1 1的情况时坐标都变为(cur+n-x)%n 然后0 1和1 0的情况时坐标变为(cur+x)%n

然后我们就可以用单身狗操作(并不)异或来判断

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N=100100;
 4 char name[N][20];
 5 int cx[N],fx;
 6 
 7 inline int rd()
 8 {
 9     int w=0,x=0;char ch=0;
10     while(!isdigit(ch)) w|=ch==-,ch=getchar();
11     while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
12     return w?-x:x;
13 }
14 int main()
15 {
16     int n,m;
17     scanf("%d%d",&n,&m);
18     for(int i=1;i<=n;i++)
19     scanf("%d%s",&cx[i],name[i]);
20     int cur=1,x;
21     for(int i=1;i<=m;i++)
22     {
23         scanf("%d%d",&fx,&x);
24         if(fx^cx[cur]) cur=(cur+x)%n;
25         else cur=(cur+n-x)%n;
26         if(cur==0) cur=n;
27     }
28     printf("%s",name[cur]);
29     return 0;
30 }

 

【luogu1563】【niop2016】玩具谜题

原文:https://www.cnblogs.com/lxyyyy/p/10366965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!