#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef long long ll;
int n, m, a, s;
struct node {
int face;
string name;
} people[200005];
signed main() {
cin >> n >> m;
for (int i = 0; i < n; i++) { //若从i = 1开始存
cin >> people[i].face >> people[i].name;
}
int cur = 0; //从cur=1开始遍历就会wa两个点
for (int j = 1; j <= m; j++) {
cin >> a >> s;
if (people[cur].face == 0 && a == 0)
cur = (cur + n - s) % n;
else if (people[cur].face == 0 && a == 1)
cur = (cur + s) % n;
else if (people[cur].face == 1 && a == 0)
cur = (cur + s) % n;
else if (people[cur].face == 1 && a == 1)
cur = (cur + n - s) % n;
}
cout << people[cur].name << endl;
return 0;
}
请问各位大佬,在我注释的那两个地方中,若我从i=1开始存数据,后续再定义个cur=1开始遍历得到的分数只有90分,但是如果我从0开始存然后从0开始遍历却是满分,请问为什么呢???感谢回复