最短路默写
2015-07-26 14:11
155 查看
最短路默写
Time Limit:10000MS Memory Limit:65536K
Case Time Limit:1000MS
Description
有一无负权有向图。求指定两点间的最短路径。
Input
输入:第一行,两个数字n和m,表示n个顶点,m条边
接下来的m行,每行三个整数,分别表示边的起点、终点和边的长度
最后一行 两个整数 x y 表示求从点x到点y的最短路径
Output
输出:一行,一个整数,最短路径长度
Sample Input
Sample Output
Hint
注:所有数据都不超过100
Source
spfa做法
Time Limit:10000MS Memory Limit:65536K
Case Time Limit:1000MS
Description
有一无负权有向图。求指定两点间的最短路径。
Input
输入:第一行,两个数字n和m,表示n个顶点,m条边
接下来的m行,每行三个整数,分别表示边的起点、终点和边的长度
最后一行 两个整数 x y 表示求从点x到点y的最短路径
Output
输出:一行,一个整数,最短路径长度
Sample Input
3 3 1 2 5 1 3 2 3 2 1 1 2
Sample Output
3
Hint
注:所有数据都不超过100
Source
spfa做法
#include<cstdio> #include<queue> using namespace std; #define maxn 201 #define inf 100000000 queue<int>q; int dis[maxn], cnt[maxn], n, m, map[maxn][maxn], ax, ay; bool f[maxn], havefu; void spfa(int start) { int i, x; havefu=false; for(i=1; i<=n; i++) { dis[i]=inf; cnt[i]=0; } q.push(start); f[start]=true; dis[start]=0; cnt[start]=1; while(!q.empty()) { x=q.front(); q.pop(); f[x]=false; for(i=1; i<=n; i++) { if(dis[x]+map[x][i]<dis[i]) { dis[i]=dis[x]+map[x][i]; if(f[i]==false) { q.push(i); f[i]=true; cnt[i]++; if(cnt[i]==n){ havefu=true;return;} } } } } } void _init() { int x, y, w; scanf("%d%d", &n, &m); for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { map[i][j]=inf; } map[i][i]=0; } for(int i=1; i<=m; i++) { scanf("%d%d%d", &x, &y, &w); map[x][y]=w; } scanf("%d%d", &ax, &ay); } void _solve() { spfa(ax); printf("%d", dis[ay]); } int main() { _init(); _solve(); return 0; }
相关文章推荐
- poj 3259 Wormholes(Bellman-Ford)
- 树
- Apache不记录指定文件类型
- ios coredata的用法和利弊
- httpClient模拟登陆校内某系统
- GridView+DiskLruCache+LruCache+ViewPage显示图片效果
- 内存分配(堆、栈、BSS、代码段、数据段) --分析
- [转]STRUTS2中的OGNL
- Nginx DHCP TFTP Kickstart搭建自动安装系统
- [LeetCOde][Java] Best Time to Buy and Sell Stock III
- jQuery插件:跨浏览器复制jQuery-zclip
- Javascript Math.ceil()与Math.round()与Math.floor()区别
- 事件总线帧---Otto
- 关于ExtJS中的mask和unmask 遮罩层
- 浅谈HTTP中Get与Post的区别
- HDU 2612 Find a way
- Git常用命令
- BCB中的TMemo(通过ScrollBars属性可以激活TMemo内置的滚动条)
- 在UINavigationController 中增加 UITabBarController 然后设置navigatio
- Terminating app due to uncaught exception 'NSInternalInconsistency