题目描述 Description

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

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

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

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

输入描述 Input Description

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

输出描述 Output Description

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

样例输入 Sample Input

3 7

6 7

4 7 3 6

2 1 3 5

样例输出 Sample Output

2

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
const int N=,Inf=;
char s[];
int n,m;
int dis[N][N];
inline void gi()
{
s[]=getchar();
while(s[]<''||s[]>'') s[]=getchar();
gets(s+);
int j=,p=,l=strlen(s);
int a[N]={};
while(j<l) {
p++;
while((s[j]<''||s[j]>'')&&j<l) j++;
while((s[j]>=''&&s[j]<='')&&j<l) a[p]=a[p]*+s[j]-'',j++;
}
for(int i=;i<=p;i++)
for(int j=i+;j<=p;j++)
dis[a[i]][a[j]]=;
}
int main()
{
cin>>n>>m;
memset(dis,,sizeof(dis));
for(int i=;i<=n;i++) gi(),dis[i][i]=;
for(int k=;k<=m;k++)
for(int i=;i<=m;i++)
if(dis[i][k]<Inf)
for(int j=;j<=m;j++)
if(dis[k][j]<Inf)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
if(dis[][m]>Inf)
cout<<"NO";
else cout<<dis[][m]-;
return ;
}

1722 最优乘车 1997年NOI全国竞赛的更多相关文章

  1. Codevs 1800 假面舞会 2008年NOI全国竞赛

    1800 假面舞会 2008年NOI全国竞赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 一年一度的假面舞会又开始了,栋栋也 ...

  2. Codevs 1074 食物链 2001年NOI全国竞赛

    1074 食物链 2001年NOI全国竞赛 时间限制: 3 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description 动物王国中有三类动物 A,B ...

  3. 1729 单词查找树 2000年NOI全国竞赛

    1729 单词查找树 2000年NOI全国竞赛 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master         题目描述 Description 在进行文法分析的 ...

  4. 1074 食物链 2001年NOI全国竞赛

    1074 食物链 2001年NOI全国竞赛 时间限制: 3 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond         题目描述 Description 动物王国中有三类动物 ...

  5. CODEVS 1074 食物链 2001年NOI全国竞赛(洛谷 P2024)

    题目描述 Description 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A吃B,B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并 ...

  6. 食物链 2001年NOI全国竞赛

    时间限制: 3 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond   题目描述 Description 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A吃B ...

  7. 2008年NOI全国竞赛 假面舞会

    /* 分三种情况 1 有环:找环长的gcd作为max gcd的超过2的最小因子作为min 2 树:所有最长链的和作为max 3为min (最长链≥3) 3 两条相交链:找出所有的这样的两条链的差 同1 ...

  8. 银河英雄传说 2002年NOI全国竞赛

    时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年 ...

  9. NOI全国赛(2001)--食物链

    今天写了道并查集的题,看来并查集的题刷少了,,,,,用法好神奇啊!!!开三倍并查集 用i表示自己,i+n存天敌,i+2*n存可以克制de,再逻辑判断一下即可. 所以,要意识到并查集的分类处理可以开不同 ...

随机推荐

  1. Scala进阶之路-为什么要学习Scala以及开发环境搭建

    Scala进阶之路-为什么要学习Scala以及开发环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近人工智能和大数据那是相当的火呀,人工智能带动了Python的流行,区块 ...

  2. c# 防止sql注入对拼接sql脚本的各个参数处理

    调用方法:GameServerId = this.NoHtml(GameServerId);//GameServerId为一个拼接sql的参数 /// <summary> /// 过滤标记 ...

  3. 20155303 实验三 敏捷开发与XP实践

    20155303 实验三 敏捷开发与XP实践 目录 一.编码标准 任务一:在IDEA中使用工具(Code->Reformate Code)格式化代码,并学习Code菜单的功能 二.敏捷开发与XP ...

  4. linux下brctl配置网桥

    原文:http://zhumeng8337797.blog.163.com/blog/static/1007689142011643834429/ 先装好网卡,连上网线,这是废话,不用说了. 然后开始 ...

  5. casperjs 知乎登陆

    phantom.casperTest = true; phantom.outputEncoding="utf-8"; var fs = require('fs'); var cas ...

  6. Oracle 用脚本安装第二个数据库

    安装第二个数据库: 登录oracle用户进入家目录,添加配置环境变量: vi .bash_profier ORACLE_SID=prod2   临时环境变量: $export ORACLE_HOME= ...

  7. jenkins+jmeter结合使用

    事件背景:想实现jmeter每30分钟执行一次,但是夜里不能人工操作,结果度娘,汇总结果如下 1.配置jmeter测试环境,注意修改Jmeter的bin目录下jmeter.properties文件的配 ...

  8. 【转】使用import scope解决maven继承(单)问题

    http://blog.csdn.net/mn960mn/article/details/50894022 测试环境 maven 3.3.9 想必大家在做SpringBoot应用的时候,都会有如下代码 ...

  9. javascript之继承

    主要是参考了<JavaScript高级程序设计(第三版)>这本书,根据自己的理解,做了下面的记录 继承是面向对象(OO)语言里面的概念,有俩种继承方式:接口继承和实现继承.接口继承只继承方 ...

  10. Algorithm类介绍(core)

    参考:http://blog.csdn.net/yang_xian521/article/details/7533922