hdu 1317 floyd+bellman-Ford
来源:互联网 发布:刀锋铁骑高级书数据 编辑:程序博客网 时间:2024/06/15 22:23
题的意思是 判断是否存在一条从1到n的路径,且最终的cost值为正值,初始值为100。中间各个room的值有正有负。
但在求路径的时候,任何一点的value都不能小于或者等于零,否则这条路就不能通。当然,如果有正环,并且可以
从1到n是连通的,那么就一定winnable。
用floyd判断是否连通性,bellman-Ford判断有无正环
#include<cstdio>#include<cstring>#include<iostream>using namespace std;#define N 111int link[N][N];int value[N],dist[N];int g[N][N];int main(){ int n; while(cin>>n&&n!=-1) { int i,j,k; int a,b; memset(link,0,sizeof(link)); memset(g,0,sizeof(g)); memset(dist,-1,sizeof(dist)); memset(value,0,sizeof(value)); for(i=1;i<=n;i++) { scanf("%d%d",&value[i],&a); while(a--) { scanf("%d",&b); g[i][b]=1; link[i][b]=1; } } for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(link[i][k]&&link[k][j]) link[i][j]=1; link[n][n]=1; if(link[1][n]==0) { printf("hopeless\n"); continue; } dist[1]=100; for(k=1;k<=n;k++) { int flag=1; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(g[i][j]&&link[i][n]&&dist[i]>0&&dist[j]<dist[i]+value[j]) { dist[j]=dist[i]+value[j]; flag=0; } } } if(flag==1) break;//不再进行松弛操作 } if(k>n||dist[n]>=0)/即第n次也能进行松弛操作,说明有环,有正环或者有正通路 printf("winnable\n"); else printf("hopeless\n"); } return 0;}
0 0
- hdu 1317 floyd+bellman-Ford
- hdu-1317-XYZZY-Bellman-Ford判环、Floyd算法
- HDU 1317 Bellman-Ford
- HDU 2544(Floyd、Dijkstra、Bellman-Ford、SPFA)
- hdu1317 bellman-ford+floyd
- Bellman-Ford和Floyd
- HDU-#2544 最短路(Dijkstra、Floyd、Bellman-Ford、SPFA)
- dijkstra,bellman-ford,floyd,HDU—1874 畅通工程续
- hdu 2544 最短路(Floyd-Warshal,Dijkstra,bellman-ford)
- dijkstra,bellman-ford,floyd分析比较
- dijkstra,bellman-ford,floyd分析比较
- dijkstra,bellman-ford,floyd分析比较
- poj 2240 Arbitrage(Bellman-Ford||Floyd)(中等)
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- Dijkstra算法、Bellman-Ford算法、Floyd算法
- Tomcat 系统架构与设计模式
- 最长公共重复不重复子串系列问题
- 音频处理
- 正则删除字符串左、右或两端的空格经验总结
- iOS开发-设置tabBar的背景图片
- hdu 1317 floyd+bellman-Ford
- 开源系统大全php- ecommerce 开源电商系统
- iOS开发-UIViewController之间的动画切换
- leetCode: binary tree sum
- Android菜鸟学习笔记(ImageLoader使用前需初始化异常)
- Do right thing or do thing right
- C#write和writeline的区别 read和readline的区别
- java经典编程题(16-18)
- php 使用url 中文乱码问题