news 2026/4/21 21:03:18

打卡信奥刷题(3144)用C++实现信奥题 P7646 [COCI 2012/2013 #5] HIPERCIJEVI

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3144)用C++实现信奥题 P7646 [COCI 2012/2013 #5] HIPERCIJEVI

P7646 [COCI 2012/2013 #5] HIPERCIJEVI

题目描述

在遥远的星系中,最快的运输方式是超级管道,它们将K KK个站台连接在一起。从站台1 11到达站台N NN最少需要经过多少个站台?

输入格式

第一行,三个整数N , K , M N,K,MN,K,M,分别表示站台数,每根超级管道连接的站台数和超级管道数。

接下来M MM行,每行K KK个正整数,表示这跟超级管道连接的站台编号。

输出格式

一行,一个正整数,表示最少需要经过的站台数,如果到达不了站台N NN,则输出-1

输入输出样例 #1

输入 #1

9 3 5 1 2 3 1 4 5 3 6 7 5 6 7 6 8 9

输出 #1

4

输入输出样例 #2

输入 #2

15 8 4 11 12 8 14 13 6 10 7 1 5 8 12 13 6 2 4 10 15 4 5 9 8 14 12 11 12 14 3 5 6 1 13

输出 #2

3

说明/提示

【样例解释#1】

有两种方法从站台1 11走到站台9 99

1 ⇒ 3 ⇒ 6 ⇒ 9 1\Rightarrow 3\Rightarrow 6\Rightarrow 913691 ⇒ 5 ⇒ 6 ⇒ 9 1\Rightarrow 5\Rightarrow 6\Rightarrow 91569

共经过了4 44个站台,可以证明这是经过站台最少的情况。


【数据范围】

对于100 % 100\%100%的数据,1 ≤ N ≤ 10 5 1\le N\le 10^51N1051 ≤ K , M ≤ 1000 1\le K,M\le 10001K,M1000


【说明】

本题分值按 COCI 原题设置,满分120 120120

题目译自 COCI2012~2013 CONTEST#5T4 HIPERCIJEVI

C++实现

#include<bits/stdc++.h>#defineINF0x7f7f7f7f#defineN500005usingnamespacestd;intvis[N],dis[N],n,k,m;vector<int>g[N];intmain(){cin>>n>>k>>m;for(inti=1;i<=m;i++)for(intj=1;j<=k;j++){intv;cin>>v;g[n+i].push_back(v);//把每根管子表示成一个点g[v].push_back(n+i);}queue<int>q;//BFS,也可以是最短路memset(dis,0x7f,sizeofdis);q.push(1),vis[1]=1,dis[1]=1;while(!q.empty()){intt=q.front();q.pop();if(t==n)break;for(inti=0;i<g[t].size();i++){intp=g[t][i];if(!vis[p]){vis[p]=1,dis[p]=dis[t]+1;q.push(g[t][i]);}}}if(dis[n]==INF)cout<<-1;//无解的情况elsecout<<dis[n]/2+1;//最短路/2+1return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 21:03:16

Meta推WhatsApp Plus订阅服务,付费享专属贴纸、自定义图标等福利!

WhatsApp Plus&#xff1a;付费解锁个性化新玩法据WABetaInfo消息&#xff0c;Meta向“部分用户”推出了WhatsApp Plus订阅服务。用户付费后可获得多种个性化定制功能&#xff0c;涵盖外观和生活便利方面的福利&#xff0c;如专属贴纸、不同的应用主题、自定义应用图标、高级铃…

作者头像 李华
网站建设 2026/4/21 21:02:18

Cadence Spectre STB分析保姆级教程:环路增益、相位裕度到底怎么看?

Cadence Spectre STB分析实战指南&#xff1a;从零解读环路增益与相位裕度 第一次在Cadence Spectre中看到STB分析结果时&#xff0c;我盯着屏幕上那条起伏的增益曲线和交叉的相位线&#xff0c;完全不明白这些波形到底在告诉我什么。直到在一次项目调试中&#xff0c;电路莫名…

作者头像 李华
网站建设 2026/4/21 20:59:18

深度解析MobaXterm密钥生成器:Python逆向工程与授权机制实现

深度解析MobaXterm密钥生成器&#xff1a;Python逆向工程与授权机制实现 【免费下载链接】MobaXterm-keygen A keygen for MobaXterm 项目地址: https://gitcode.com/gh_mirrors/moba/MobaXterm-keygen MobaXterm作为Windows平台上功能最全面的远程终端工具&#xff0c;…

作者头像 李华
网站建设 2026/4/21 20:57:02

ZTools(效率工具)

链接&#xff1a;https://pan.quark.cn/s/add40d5ba361ZTools 是一款高性能、可扩展的跨平台应用启动器和插件平台&#xff0c;是知名效率工具 uTools 的开源实现版本。它采用现代化的技术栈构建&#xff0c;旨在为用户提供极速的桌面应用启动体验和强大的插件扩展能力。快速启…

作者头像 李华