GPLT L2-040 哲哲打游戏 (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 号剧情点。
看了十几分钟的题目解释终于理解了题意,出现1时就将当前的位置存到指定的位置,停在当前位置不用动;出现2时,就读取指定位置存储的位置,当前位置替换为存储的位置;出现0时,选择走就可以了
代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int a[maxn]={0,1,0};//存档
vector<int>v[maxn];//存储第i个位置可操作的位置
int main()
{int m,n,t,z=1,f;cin>>m>>n;for(int i=1;i<=m;i++){cin>>t;v[i].push_back(t);for(int j=1;j<=v[i][0];j++){cin>>t;v[i].push_back(t);}}for(int i=1;i<=n;i++){cin>>t;if(t==0){cin>>f;z=v[z][f]; }else if(t==2){cin>>f;z=a[f];//读档}else if(t==1){cin>>f;a[f]=z;cout<<z<<endl;}}cout<<z;}
GPLT L2-040 哲哲打游戏 (25 分)相关推荐
- L2-4 哲哲打游戏 (25 分)
L2-4 哲哲打游戏 (25 分) 哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N ...
- 哲哲打游戏 (25 分)
7-12 哲哲打游戏 (25 分) 哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N ...
- 7-6 哲哲打游戏 (25 分)
7-6 哲哲打游戏 (25 分) 哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个 ...
- PTA_2021年团体程序设计天梯赛_总决赛_L2-4 哲哲打游戏 (25 分)_搞心态_简单模拟
// 输出格式: 对于每个 1(即存档)操作,在一行中输出存档的剧情点编号.最后一行输出哲哲最后到达的剧情点编号.输入样例: 10 11 3 2 3 4 1 6 3 4 7 5 1 3 1 9 2 3 ...
- L2-040 哲哲打游戏 (25 分)-PAT 团体程序设计天梯赛 GPLT
哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...
- L2-040 哲哲打游戏 (25 分)2021天梯赛c++
哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...
- L2-4 哲哲打游戏 (25 分)_模拟
哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...
- L2-040 哲哲打游戏 (25 分)
哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...
- L2-040 哲哲打游戏 (25 分) 模拟
哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...
最新文章
- OAuth2.0学习(1-1)OAuth2.0是什么?
- [导入]LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法
- Servlet 文件上传
- spark 源码分析之十九 -- DAG的生成和Stage的划分
- 零基础学习前端开发,怎么自学javascript?
- 哪种css实现方式优势更突出_css和div的优势有哪些?
- 红黑树并没有我们想象的那么难(下)
- Linux必备命令 - 常用命令集
- 抽象工厂模式,加工出不可思议的产品!
- 360插件化方案RePlugin学习笔记-汇总
- 安卓怎么转移到iphone_如何将联系人从iPhone转移到另一部电话
- python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...
- 数据资产盘点实践:智能对标
- 电源滤波为何通常是一大一小两个电容并联?
- 【华人学者风采】魏少军 清华大学
- 励步启蒙 android平板,励步启蒙官方版app
- Spring Boot 项目 - API 文档搜索引擎
- linux IO_FILE 利用
- 004-hive基本操作
- 2021年CCPC河南省赛部分题解
热门文章
- 域名缩短源码PHP程序 分享 亲测可用
- RapidMiner 生成分析
- 利用深度学习的智能决策支持系统:实现智能化决策的关键要素
- 《江山美人》票房飘红 三天狂收2300万元
- 冲压模具CAD作图规范、世界五百强企业图档管理规范,值得收藏
- Bootstrap 弹出输入框
- ES6 set和map用法
- android 充电接口,苹果接口将改“华为口”,很多人不懂,安卓充电口为何叫华为口?...
- “白领工资标准”是炒作抑或是无聊之作?
- CTR预估之FMs系列模型:FM/FFM/FwFM/FEFM