90分求助,若能回复,感激不尽!
查看原帖
90分求助,若能回复,感激不尽!
506724
reco楼主2022/4/29 15:01
#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开始遍历却是满分,请问为什么呢???感谢回复

2022/4/29 15:01
加载中...