【题目描述】

H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。

一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士, 这样换乘几次后到达S公园。

现在用整数1,2,…N 给H城的所有的巴士站编号,约定这名旅客所在饭店的巴士站编号为1,S公园巴士站的编号为N。

写一个程序,帮助这名旅客寻找一个最优乘车方案,使他在从饭店乘车到S公园的过程中换车的次数最少。

【输入】

第一行有两个数字M和N(1≤M≤100 1<N≤500),表示开通了M条单程巴士线路,总共有N个车站。从第二行到第M行依次给出了第1条到第M条巴士线路的信息。其中第i+1行给出的是第i条巴士线路的信息,从左至右按运行顺序依次给出了该线路上的所有站号相邻两个站号之间用一个空格隔开。

【输出】

只有一行。如果无法乘巴士从饭店到达S公园,则输出"N0",否则输出你的程序所找到的最少换车次数,换车次数为0表示不需换车即可到达。

【输入样例】

3 7
6 7
4 7 3 6
2 1 3 5

【输出样例】

2

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<set>
#include<map>
#include<stack>
#include<vector>
#include<sstream>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 1001
#define MOD 123
#define E 1e-6
using namespace std;
int g[N][N];
int a[N];
int main()
{int n,m;scanf("%d%d\n",&m,&n);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){if(i==j)g[i][j]=0;elseg[i][j]=INF;}for(int i=1;i<=m;i++){string str;getline(cin,str);stringstream input(str);//创建一个流int len=0;int x;while(input>>x)//把值传递流中{len++;a[len]=x;//获取转换后的字符转并将其写入a[len]}for(int j=1;j<=len;j++)for(int k=j+1;k<=len;k++)g[a[j]][a[k]]=1;}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)g[i][j]=min(g[i][j],g[i][k]+g[k][j]);if(g[1][n]>=INF)cout<<"NO"<<endl;elsecout<<g[1][n]-1<<endl;return 0;
}

最优乘车(信息学奥赛一本通-T1377)相关推荐

  1. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  2. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  3. 信息学奥赛一本通1258:数字金字塔

    题目 信息学奥赛一本通(C++版)在线评测系统 思路 这一道题大家可以自己先在纸上画一画,不出意外的话,你的答案应该是这样的 算出来答案是63,然而!有一个更优的答案!! 结果是86! 这是为啥嘞?因 ...

  4. 信息学奥赛一本通网站1672:游戏通关

    如果你正在找这道题不超时(或者和自己的AC算法不一样)的算法,并且恰好像本蒟蒻一样会树状数组不会线段树,继续往下看 网址:信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn) 这道题的贪心 ...

  5. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  6. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  7. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  8. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  9. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

最新文章

  1. Cordova+jQuery Mobile+Spring REST
  2. python的import与from...import的不同之处
  3. 怎么样才能写出出色的代码
  4. 什么是mysql事物定义_Mysql事务原理
  5. 信息安全管理与评估_计算机工程学院教师参加“信息安全管理与评估赛项”说明会...
  6. 图像处理-图像增强(三)
  7. Number()、parseInt() 和 parseFloat() 的区别
  8. Hibernate 可编程的配置方式
  9. 通过密钥 SFTP(二)限定用户根目录
  10. 5. wordpress 简单加速 ---gzip
  11. html loading 页面加载中(百分比)
  12. linux内核调用串口,linux驱动之串口驱动框架
  13. 文明4 java_文明4主题曲《Baba Yetu》(敬请关注中文歌词部分~)
  14. linux软件源怎么看,Linux软件源
  15. 深蓝-视觉slam-第七节习题
  16. 仿“易企秀”编辑器之拖拉拽
  17. 使用 acme.sh 生成免费的泛域名证书
  18. Vue-组件嵌套之——父组件向子组件传值
  19. 如何用微博推广淘宝店铺
  20. NOIWC 2019 冬眠记【游记】

热门文章

  1. 如何通过数据分析鉴别假微博大V?
  2. Windows 11 高门槛吓退用户,Linux 成香饽饽?
  3. GUN ARM汇编中标号的引用在汇编和C语言中区别(monitor_flash_len = _bss_start - _armboot_start;)
  4. 黄光裕正式获释,公开发表讲话!
  5. “科班出身”的程序员和“培训出身”的程序员的大型辩论(甩锅)现场
  6. 如果没准备这些面试题,找工作还是缓一缓吧
  7. 超60亿元,新华三领衔华为锐捷中兴中标中国移动高端路由器和交换机集采
  8. 【JEECG技术博文】jeecg 定时任务配置用法
  9. Nginx+Tomcat+Memcached集群 【测试成功】
  10. 好纠结啊,JeeWx商业版本和开源版本有什么区别呢?