最优乘车


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

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

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

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


输入格式
第一行有两个数字 MM 和 NN ( 1 \le M \le 100 1≤M≤100 , 1 < N \le 500 1<N≤500),表 示开通了 MM 条单程巴士线路,总共有 NN 个车站。

从第二行到第 MM 行依次给出了第 11 条到第 MM 条巴士线路的信息。其中第 i+1i+1 行给出的是第 ii 条巴士线路的信息,从左至右按运行顺序依次给出了该线路上的所有站号相邻两个站号之间用一个空格隔开。


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


输入输出样例


输入 #1
3 7
6 7
4 7 3 6
2 1 3 5


输出 #1
2


代码

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
char x;
bool f[10005]={false}; //用于判断这个站点有没有走过
int n,m,a[1005],bus[10005][10005],st[10005],fa[10005];
void bfs(){
int head=0,tail=1;
st[1]=-1;fa[1]=1;f[1]=true; //st用于储存第i个站点转了多少次站
do{
head++;
for(int i=1;i<=n;i++){
if(bus[fa[head]][i] and !f[i]){
tail++;
f[i]=true; //标记已经走过
st[i]=st[fa[head]]+1;
fa[tail]=i;
}
}
if(f[n])break; //判断有没有走都目标点
}while(head<tail);
if(head==tail)printf("NO");
else printf("%d",st[n]);
}
int main(){
scanf("%d%d",&m,&n);
for(int i=0;i<=m;i++){
memset(a,0,sizeof(a));
a[0]=1;
do{ //快读
x=getchar();
if (isdigit(x)) a[a[0]]=a[a[0]]*10+x-48;
else ++a[0];
}while (x!='\n'&& x!=EOF); a[0]--;
for(int j=1;j<=a[0]-1;j++)
for(int k=j+1;k<=a[0];k++)
bus[a[j]][a[k]]=1; //先做预处理
}
if(n==1){
printf("0");
return 0;
}
bfs();
return 0;
}

isdigit() 介绍

[BFS]最优乘车的更多相关文章

  1. 1722 最优乘车 1997年NOI全国竞赛

    题目描述 Description H城是一个旅游胜地,每年都有成千上万的人前来观光.为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路.每条单程巴士线路从某个巴士 ...

  2. noi 1997 最优乘车

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

  3. HN0I2000最优乘车 (最短路变形)

    HN0I2000最优乘车 (最短路变形) 版权声明:本篇随笔版权归作者YJSheep(www.cnblogs.com/yangyaojia)所有,转载请保留原地址! [试题]为了简化城市公共汽车收费系 ...

  4. AcWing 920. 最优乘车

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

  5. 题解【洛谷P5767】[NOI1997]最优乘车

    题面 一道很经典的最短路模型转换问题. 考虑如何建图. 我们可以发现,对于每一条公交线路,可以将这条线路上 可以到达的两个点 连一条权值为 \(1\) 的边. 获取一条公交线路上的每一个点可以使用读取 ...

  6. 【SSL1194】最优乘车

    题面: 正文: 把每个边用链式前向星存起来,边权为\(1\),就可以愉♂快♂地最短路了

  7. PAT Advanced 1076 Forwards on Weibo (30) [图的遍历,BFS,DFS]

    题目 Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and ...

  8. nyoj 1238(BFSor最短路)

    最少换乘 时间限制:2000 ms  |  内存限制:65535 KB 难度:3   描述 欧洲某城是一个著名的旅游胜地,每年都有成千上万的人前来观光旅行.Dr. Kong决定利用暑假好好游览一番.. ...

  9. nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)

    题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...

随机推荐

  1. ES6 & import * & import default & import JSON

    ES6 & import * & import default & import JSON import json & default value bug api.js ...

  2. V8 & ECMAScript & ES-Next

    V8 & ECMAScript & ES-Next ES6, ES7, ES8, ES9, ES10, ES11, ES2015, ES2016, ES2017, ES2018, ES ...

  3. VAST二月上线交易所,打通NGK各大币种之间通道!

    1月20日,管理着超过8.7万亿美元资产的全球最大资产管理公司贝莱德似乎已批准其旗下两个相关基金--贝莱德全球分配基金公司和贝莱德基金投资比特币期货.提交给美国证券交易委员会的招股说明书文件显示,贝莱 ...

  4. C++算法代码——n的全排列/全排列问题

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1541 题目描述 输入一个整数n,输出的n(n<=100)的全排列. 输入 输入 ...

  5. C++算法代码——扫雷游戏

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1685 题目描述 扫雷游戏是一款十分经典的单机小游戏. 在 n 行 m 列的雷区中有一 ...

  6. 痞子衡嵌入式:串行NOR Flash的DQS信号功能简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的DQS信号功能. 串行NOR Flash在嵌入式里的应用相当广泛,既可用作数据存储也可以用作代码(XiP)存储, ...

  7. Dubbo与Zookeeper开发

    1.Dubbo 1.1RPC RPC全称是remote procedure call,即远程过程调用.比如有两台服务器A和B,它们上面分别部署了一个服务.此时B服务器想调用A服务器上提供的方法,由于不 ...

  8. hive分区分桶

    目录 1.分区 1.1.静态分区 1.1.1.一个分区 1.1.2.多个分区 1.2.动态分区 2.分桶 1.分区 如果一个表中数据很多,我们查询时就很慢,耗费大量时间,如果要查询其中部分数据该怎么办 ...

  9. Kubernetes-5.Pod资源控制器(1)

    docker version:20.10.2 kubernetes version:1.20.1 本文概述Kubernetes Pod资源控制器的ReplicaSet.Deployment.Daemo ...

  10. SSAS表格模型

    Analysis Services 是在决策支持和业务分析中使用的分析数据引擎 (Vertipaq) . 它为商业智能提供企业级语义数据模型功能 (BI) .数据分析和报告应用程序,如 Power B ...