道标 · 年 2021-07-06 17:00 采纳率: 66.7%
浏览 28
已采纳

山山的路线求代码(c++模拟)

众所周知,山山是一名优秀的王者荣耀选手,他能有今天的成就不仅在于刻苦的训练,还在于他有一套独特的训练计划。
比如,山山在开始接触游戏的时候,就邀请好朋友乐乐帮他开发了一套辅助复盘的训练工具,用来在每次比赛之后对比赛进行复盘。该训练工具有以下几种功能:
用图的结构来记录出所有的打野路线。
输入指令0,代表选择模拟路线。山山可以再输入一个整数p,代表从当前节点选择第p条路线前往下一个节点。
输入指令1,代表存档。山山可以再输入一个整数q,代表选择将当前所在的节点位置存储进第q个存档点(本工具共有100个存档点),如果该位置已有存档,则覆盖之前的存档。
输入指令2,代表读取存档r。山山可以再输入一个整数,代表读取第r个存档点中陆陆所在的位置,如果该位置没有存档,则不做任何操作。
现在,山山想将自己的工具分享给你使用,并把她曾经的复盘记录指令交给你,聪明的你能否顺利完成山山的比赛复盘全过程,并将每一条指令下达后山山所在的节点位置正确输出呢?

输入格式:

第一行三个正整数,n, m, now, 表示共有n个节点,m个指令,初始位置为now 




接下来n行,每行第一个数字为ki,后面为ki个整数,表示第i个节点的所有路线 




接下来m行,每行两个数字op, pos,分别表述指令的种类和指令的值(p, q, r) 




n <= 1e5, m <= 1e6, 所有ki的和小于1e6

输出格式:

对于每个指令,输出指令执行后山山的位置
限制:

空间限制:128MByte
时间限制:1秒
样例:

输入:

4 5 1
2 2 3
1 4
1 4
1 1
0 1
0 1
1 1
0 1
2 1
输出:

2
4
4
1
4

  • 写回答

1条回答 默认 最新

  • 黑马星云 2021-07-06 22:03
    关注

    你个……

    #include<iostream>
    #include<vector>
    #include<cstdio>
    using namespace std;
    
    const int N = 1e5+100;
    vector<int> rode[N];
    
    int save[N];
    
    int main()
    {
        
        int n , m , now;
        
        scanf("%d%d%d",&n,&m,&now);
        
        int numn;
        
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&numn);
            for(int j=1;j<=numn;j++)
            {
                int a;
                scanf("%d",&a);
                rode[i].push_back(a); 
            }
        }
        int num,to;
        for(int i=1;i<=m;i++)
        {
            scanf("%d%d",&num,&to);//以上就是一个输入
            if(num == 0)//判断num的值是否为0
            {
                now = rode[now][to-1];//下一个节点
                printf("%d\n",now);//输出该指令下达后山山所在的节点位置
            }
            else if(num == 1)//是否为1
            {
                save[to] = now;//存档,覆盖或不覆盖
                printf("%d\n",now);//输出该指令下达后山山所在的节点位置
            }
            else if(num == 2)//是否为2
            {
                if(save[to])
                    now = save[to];//读取第r个存档点中陆陆所在的位置,如果该位置没有存档,则不做任何操作
                printf("%d\n",now);//输出该指令下达后山山所在的节点位置
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么