想不通,第一个测试点可以过,然后就出错了
查看原帖
想不通,第一个测试点可以过,然后就出错了
446566
NMS1L1楼主2021/10/19 18:25
using namespace std;


int main() {
    int n, m, digit = 0;
    int rule[100000], _move[100000], temp_rule[100000];
    string name[100000];
    cin >> n >> m;

    for (int i = 0; i < n; ++i)
        cin >> rule[i] >> name[i];
    for (int i = 0; i < m; ++i) {
        cin >> temp_rule[i] >> _move[i];
    }
    for (int i = 0; i < m; ++i) {
        if (temp_rule[i] == rule[i]) {
            if(digit - _move[i] < 0) {
                digit = (n - (_move[i] - digit)) % n;
            }
        } else {
                digit = (digit + _move[i]) % n;
        }
    }

    cout << name[digit];
}
2021/10/19 18:25
加载中...