L2-4 哲哲打游戏 (25 分)

简介: L2-4 哲哲打游戏 (25 分)

L2-4 哲哲打游戏 (25 分)


哲哲是一位硬核游戏玩家。最近一款名叫《达诺达诺》的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切!


为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择可以从某个剧情点去往另外一个剧情点。此外,游戏还设置了一些存档,在某个剧情点可以将玩家的游戏进度保存在一个档位上,读取存档后可以回到剧情点,重新进行操作或者选择,到达不同的剧情点。


为了追踪硬核游戏玩家哲哲的攻略进度,你打算写一个程序来完成这个工作。假设你已经知道了游戏的全部剧情点和流程,以及哲哲的游戏操作,请你输出哲哲的游戏进度。


输入格式:


输入第一行是两个正整数 N 和 M (1≤N,M≤105),表示总共有 N个剧情点,哲哲有 M 个游戏操作。


接下来的 N 行,每行对应一个剧情点的发展设定。第 i 行的第一个数字是 Ki,表示剧情点 i 通过一些操作或选择能去往下面 Ki 个剧情点;接下来有 Ki 个数字,第 k 个数字表示做第 k 个操作或选择可以去往的剧情点编号。


最后有 M 行,每行第一个数字是 0、1 或 2,分别表示:


0 表示哲哲做出了某个操作或选择,后面紧接着一个数字 j,表示哲哲在当前剧情点做出了第 j 个选择。我们保证哲哲的选择永远是合法的。


1 表示哲哲进行了一次存档,后面紧接着是一个数字 j,表示存档放在了第 j 个档位上。


2 表示哲哲进行了一次读取存档的操作,后面紧接着是一个数字 j,表示读取了放在第 j 个位置的存档。


约定:所有操作或选择以及剧情点编号都从 1 号开始。存档的档位不超过 100 个,编号也从 1 开始。游戏默认从 1 号剧情点开始。总的选项数(即 ∑Ki)不超过 106。


输出格式:


对于每个 1(即存档)操作,在一行中输出存档的剧情点编号。


最后一行输出哲哲最后到达的剧情点编号。


输入样例:


10 11
3 2 3 4
1 6
3 4 7 5
1 3
1 9
2 3 5
3 1 8 5
1 9
2 8 10
0
1 1
0 3
0 1
1 2
0 2
0 2
2 2
0 3
0 1
1 1
0 2


结尾无空行


输出样例:


1. 1
2. 3
3. 9
4. 10


结尾无空行


样例解释:


简单给出样例中经过的剧情点顺序:


1 -> 4 -> 3 -> 7 -> 8 -> 3 -> 5 -> 9 -> 10。


档位 1 开始存的是 1 号剧情点;档位 2 存的是 3 号剧情点;档位 1 后来又存了 9 号剧情点。


#include<iostream>
#include<vector>
using namespace std;
const int N=100010,M=110;
int n,m;
vector<int>g[N];
int record[M];
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        int cnt;
        scanf("%d",&cnt);
        while(cnt--){
            int x;
            scanf("%d",&x);
            g[i].push_back(x);
        }
    }
    int p=1;
    while(m--){
        int a,b;
        scanf("%d%d",&a,&b);
        if(a==0){
            p=g[p][b-1];
        }else if(a==1){
            record[b]=p;
            printf("%d\n",p);
        }else{
            p=record[b];
        }
    }
    printf("%d",p);
    return 0;
}
目录
相关文章
|
6月前
【天梯赛】L1-095 分寝室
输出的方案对应女生都是 24/4=6 人间、男生都是 60/6=10 人间,人数差为 4。满足前三项要求的分配方案还有两种,即女生 6 间(都是 4 人间)、男生 4 间(都是 15 人间);同时,每间女寝人数必须都一样,每间男寝人数必须都一样,也就是女生总人数对女寝数取模为0,男生总人数对男寝数取模为0。输入在一行中给出 3 个正整数 n0​、n1​、n,分别对应女生人数、男生人数、寝室数。按题意模拟,因为知道总寝室数为n,所以可以从1~n-1暴力枚举女寝 i 的数量,那么男寝的数量则为 c-i。
93 6
|
7月前
1092 最好吃的月饼 (20 分)
1092 最好吃的月饼 (20 分)
|
7月前
1052 卖个萌 (20 分)//部分正确
1052 卖个萌 (20 分)//部分正确
|
8月前
7-35 情人节 (15 分)
7-35 情人节 (15 分)
62 0
天梯赛真题——7-6 老板的作息表(25 分)
新浪微博上有人发了某老板的作息时间表,表示其每天 4:30 就起床了。但立刻有眼尖的网友问:这时间表不完整啊,早上九点到下午一点干啥了? 本题就请你编写程序,检查任意一张时间表,找出其中没写出来的时间段。
706 0
天梯赛真题——7-6 老板的作息表(25 分)
L2-028 秀恩爱分得快 (25 分)
L2-028 秀恩爱分得快 (25 分)
164 0
【每日一道智力题】之海盗分金币(上)
【每日一道智力题】之海盗分金币(上)
284 0
(拯救选择困难症)随机选择今天中午吃啥
(拯救选择困难症)随机选择今天中午吃啥
(拯救选择困难症)随机选择今天中午吃啥
L1-035 情人节 (15 分)
L1-035 情人节 (15 分)
144 0
L1-035 情人节 (15 分)
L1-024 后天 (5 分)
L1-024 后天 (5 分)
165 0