2021-PTA总决赛-L2-4 哲哲打游戏(模拟)

思路:

一个数组记录存档点,然后纯模拟

AcCode:

#include<iostream>
#include<vector>
#define _for(i, x, y) for(int i = x; i <= y; i++)
using namespace std;

vector<int> J[100010];
int save[110];

int main(){
    int N, M;
    cin >> N >> M;
    _for(i, 1, N){
        int K;
        cin >> K;
        _for(j, 1, K){
            int v;
            cin >> v;
            J[i].push_back(v);
        }
    }
    int pos = 1;
    _for(i, 1, M){
        int x;
        cin >> x;
        if(x == 0){
            int p;
            cin >> p;
            pos = J[pos][p - 1]; //更新当前位置
        }else if(x == 1){
            int si; 
            cin >> si;
            cout << pos << endl; //输出存档点
            save[si] = pos; //存档
        }else if(x == 2){
            int load;
            cin >> load;
            pos = save[load]; //更新当前位置到存档点
        }
    }
    cout << pos; //最终位置
    return 0;
}
posted @ 2025-04-08 17:04  Yuhhhhh  阅读(9)  评论(0)    收藏  举报