原题传送门node
一道出自NOIP提升组的纯模拟大水题,不知道为何在某谷上被打了高性能的标签(恶意评分QAQ?),没必要在乎,直接暴力就能AC,(暴力大法好,暴力保平安)
这道题只要看好顺逆时针是加是减就好了,至于环,用一个数组就能够模拟,注意把下标时刻模n就行,另外,减下标时不要出现负数。ios
剩下的就是瞎水代码了QAQ,逃~数组
#include<iostream> using namespace std; struct node { int head; string name; }a[100005]; int n,m,x,y,now; int main() { cin>>n>>m; for(int i=0;i<n;i++) { cin>>a[i].head>>a[i].name; } for(int i=1;i<=m;i++) { cin>>x>>y; if(a[now].head==0&&x==0)now=(now+n-y)%n;//加n是为了防止产生负数,下同 else if(a[now].head==0&&x==1)now=(now+y)%n; else if(a[now].head==1&&x==0)now=(now+y)%n; else if(a[now].head==1&&x==1)now=(now+n-y)%n; } cout<<a[now].name<<endl; return 0; }