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

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

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

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

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

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

0 表示哲哲做出了某个操作或选择,后面紧接着一个数字 j,表示哲哲在当前剧情点做出了第 j 个选择。我们保证哲哲的选择永远是合法的。
1 表示哲哲进行了一次存档,后面紧接着是一个数字 j,表示存档放在了第 j 个档位上。
2 表示哲哲进行了一次读取存档的操作,后面紧接着是一个数字 j,表示读取了放在第 j 个位置的存档。
约定:所有操作或选择以及剧情点编号都从 1 号开始。存档的档位不超过 100 个,编号也从 1 开始。游戏默认从 1 号剧情点开始。总的选项数(即 ∑K​i)不超过 10^​6​​ 。

输出格式:
对于每个 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
3
9
10
样例解释:
简单给出样例中经过的剧情点顺序:

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

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

#include<bits/stdc++.h>
using namespace std;
int n,m;
int book[101010];
vector<int>a[1010100];
int main()
{int i,j,k,x,y;cin>>n>>m;for(i=1;i<=n;i++){a[i].push_back(0);}for(i=1;i<=n;i++){cin>>k;for(j=0;j<k;j++){cin>>x;a[i].push_back(x);}}k=1;while(m--){scanf("%d%d",&x,&y);if(x==0){k=a[k][y];}if(x==1){book[y]=k;printf("%d\n",k);k=book[y];}if(x==2){k=book[y];}//cout<<k<<endl;}cout<<k;
}

2021天梯赛总决赛-L2-4 哲哲打游戏相关推荐

  1. 2021年团体程序设计天梯赛-总决赛L2题解

    2021年团体程序设计天梯赛-总决赛! L2-1 包装机 思路:模拟 代码: #include<bits/stdc++.h> using namespace std; int main() ...

  2. [PTA]2021天梯赛-总决赛 L1题解合集

    文章目录 前言说明 题解 人与神 (5 分) 两小时学完C语言 (5 分) 强迫症 (10 分) 降价提醒机器人 (10 分) 大笨钟的心情 (15 分) 吉老师的回归 (15 分) 天梯赛的善良 ( ...

  3. 2022年团体程序设计天梯赛-总决赛

    2022年团体程序设计天梯赛-总决赛题目 L1-1 今天我要赢 L1-2 种钻石 L1-3 谁能进图书馆 L1-4 拯救外星人 L1-5 试试手气 L1-6 斯德哥尔摩火车上的题 L1-7 机工士姆斯 ...

  4. L2-040 哲哲打游戏 (25 分)2021天梯赛c++

    哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...

  5. 题解2020届天梯赛总决赛L2-4哲哲打游戏

    引用 这道题其实就是简单的邻接表存储问题,但因为题目的原因只能采用尾插法,同一个点能到达的点可能非常多,如果全部遍历一遍再取数的话会超时,所以得另辟蹊径~刚好可以用二维vector(简化了next指针 ...

  6. 2021天梯赛 L2-040 哲哲打游戏 题解

    L2-040 哲哲打游戏 (25 分) 题目: 哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设 ...

  7. 2021年团体程序设计天梯赛-总决赛题解

    L2-2 病毒溯源 L2-4 哲哲打游戏 L3-2 还原文件 L1-1 人与神 (5 分) 跨界大神 L. Peter Deutsch 有一句名言:"To iterate is human, ...

  8. 2021天梯赛L2题解全集

    L2-037 包装机 (25 分) 其实就是个模拟,按照题目意思写下去吧,也不知道为什么比赛的时候一直只能拿20分(用char数组+ int变量模拟栈) 赛后直接用栈写的一发满分就很奇怪...主要是题 ...

  9. 【2021团体程序设计天梯赛】L2部分(PTA,L2-037到L2-040)题解代码复盘

    概述 都是模拟,没啥好说的. T1注意轨道空了的时候按钮没反应的,考场一遍过了复盘的时候给忘了改了好久. T2题目没说清楚可以从任意节点出发,以为只有0出发改了好久最后都没改出来,最后只拿了17分,不 ...

最新文章

  1. 设置VSCode运行任务命令快捷键Alt+R,通常用于npm start(对频繁使用该命令可节省50%的输入命令行打字时间)
  2. 如何在 Linux下进行文件切割操作?
  3. 51nod 1275 连续子段的差异
  4. Java:使用synchronized和Lock对象获取对象锁
  5. mysql 1280_技术分享 | MySQL 一次奇怪的故障分析
  6. Cocos2d-x v3.0物理系统 利用PhysicsEditor创建多边形
  7. Django REST framework【学习内容】
  8. mysql 数据迁移_CentOS7迁移Mysql数据库文件
  9. 最易懂的layui分页
  10. C#LeetCode刷题-程序员面试金典
  11. matlab机械臂工作空间代码_轻型协作机械臂运动学及工作空间分析
  12. python 实现对地图的点击_python实现Pyecharts实现动态地图(Map、Geo)
  13. centos7安装samba服务,以及设置权限分配
  14. Windows程序设计_学习总结(1)
  15. 全民WIFI上网计划
  16. 卡巴斯基破解版 KISV8.0.0.432 Beta 江南混混汉化特别版
  17. 3D劲舞游戏 Dance Mixer 简体中文汉化版+常见问题(更新1.1补丁 汉化)
  18. 小程序生成自带参数的小程序码
  19. 微信公众平台开发尝试
  20. Linux学习 高级网络配置

热门文章

  1. 重复性工作再也不用做啦?机器人自动化迎难而上
  2. 360浏览器不能导入html,360浏览器无法导入收藏夹的解决方法
  3. 贾跃亭微博发新车V9图片 计划明年量产预售
  4. 愚人节 之强迫症描述
  5. servicecomb-pack
  6. 服务器环境配置项目论文,服务器配置与管理论文范文:服务器配置论文
  7. 闲话链表的诞生以及它与数组亲缘关系的故事
  8. 别被速成忽悠了,速成绝不可能。
  9. 没有机房的计算机课,没有电脑,信息技术课怎么上?
  10. 昆明某饭店的师傅正在制作气锅鸡