【luogu1563】【niop2016】玩具謎題
阿新 • • 發佈:2019-02-12
get line 水題 tchar 單身 pan dig amp 如果
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】玩具謎題