### 因为你下标是从1开始的,取模后的范围是
[0,n-1]而不是[1,n]。这里特判下当num为零时,令其等于n。我一开始也是因为这样子90分..
```
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m;
int dict[N];
string name[N];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>dict[i]>>name[i];
int flag=1;
for(int i=1;i<=m;i++)
{
int a,b;
cin>>a>>b;
if( a==dict[flag] ) //顺时针
{
flag = (flag + n - b) % n;
}
else //逆时针
{
flag = (flag + b) % n;
}
if( !flag ) flag=n;
}
cout<<name[flag];
return 0;
}
```
by xbm0404 @ 2023-07-28 20:35:01
@[xbm0404](/user/687751) 哇,确实啊,谢谢dalao.
by liang_carry @ 2023-08-10 10:43:08