poj1847 Tram
来源:互联网 发布:淘宝里的地址怎么修改 编辑:程序博客网 时间:2024/05/16 14:18
题目链接:http://poj.org/problem?id=1847
题意:有一个轨道网络,总共有n个结点,每个结点通向若干个其他节点,但是有些结点要通的话,必须要打下开关,现在问你
从a结点到b结点,需要打几次开关
解析:一开始就直接联通的边权设为0,不连通的边权设为1,然后直接跑a到b的最短路即可,因为结点比较少,所以用Floyd比较方便,记得有输出-1的情况
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <string>#include <vector>#include <queue>using namespace std;const int inf = 1e5+100;int g[105][105];int main(void){ int n,a,b; scanf("%d %d %d",&n,&a,&b); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i==j) g[i][j] = 0; else g[i][j] = inf; } } for(int i=1;i<=n;i++) { int m,x; scanf("%d",&m); for(int j=0;j<m;j++) { scanf("%d",&x); g[i][x] = !(j==0); } } 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]); } } printf("%d\n",g[a][b]==inf?-1:g[a][b]); return 0;}
阅读全文
0 0
- POJ1847:Tram
- POJ1847---Tram
- [poj1847] Tram
- poj1847 Tram
- Tram(poj1847,floyd)
- poj1847 Tram(最短路)
- poj1847 Tram SPFA
- POJ1847--Tram 【最短路spfa】
- POJ1847 Tram(最短路径)
- POJ1847 Tram最短路径 Dijkstra
- poj1847——Tram(dijkstra)
- poj1847 - Tram (最短路径问题) (Dijkstra)
- POJ1847 Tram ACM解题报告(dijkstra求最短路)
- poj1847
- Tram
- Tram
- poj1847 dijkstra
- poj1847 Dijkstra
- 微软asp.net core JwtBearer获取访问令牌accessToken
- bzoj 2456 mode
- ios 快捷键~刪除文字、英文拼写
- 160个练手CrackMe-001
- bzoj 3236(莫队+分块)
- poj1847 Tram
- Python3 模块
- Android BLE开发总结第一篇
- poj3734——矩阵快速幂入门题
- NOIP复习计划
- JavaSE基础02
- 模式的秘密---单例模式
- DP:about string
- AIDE MD主题配置