NYOJ188_Arbitrage(BellmanFord)
来源:互联网 发布:thinksns源码 编辑:程序博客网 时间:2024/06/03 14:36
原题地址:点击打开链接
这题与另一题类似:点击打开链接
#include<stdio.h>#include<string>#include<map>using namespace std;map<string,int>mp;double a[40][40];int n;void addEdge(char str1[],double x,char str2[]){string s1=str1;string s2=str2;int u,v;u=mp[s1];v=mp[s2];a[u][v]=x;}bool floyd(){int i,j,k;for(k=1;k<=n;k++)for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(a[i][j]<a[i][k]*a[k][j]){a[i][j]=a[i][k]*a[k][j];}}for(i=1;i<=n;i++){if(a[i][i]>1)return true;}return false;}int main(){int m,i,j,count,t=0;double x;char str[20],str1[20],str2[20];while(scanf("%d",&n)&&n){count=0;mp.clear();getchar();for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(i==j)a[i][j]=1;elsea[i][j]=0;}for(i=0;i<n;i++){scanf("%s",str);string s=str;mp[s]=++count;}scanf("%d",&m);getchar();for(i=0;i<m;i++){scanf("%s%lf%s",str1,&x,str2);addEdge(str1,x,str2);}if(floyd())printf("Case %d: Yes\n",++t);elseprintf("Case %d: No\n",++t);}return 0;}
0 0
- NYOJ188_Arbitrage(BellmanFord)
- Bellmanford
- BellmanFord
- bellmanford algorithm
- BellmanFord 算法
- BellmanFord算法框架
- hdu2544 bellmanford实现
- BellmanFord算法框架
- 算导3(BellmanFord)
- BellmanFord算法模板
- zoj 1721 (bellmanford)
- POJ3259 Wormholes【BellmanFord】
- C++实现Bellmanford算法
- BellmanFord判环算法
- Bellmanford 最短路(1)
- 单源最短路径---BellmanFord,Dijkstra
- 详解--bellmanford【转载】
- 单源最短路与bellmanford
- Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in.
- (转载)Java Collection&nbs…
- struts2 package 属性说明
- JS 倒计时7200秒(2小时)按…
- Eval函数和new functio…
- NYOJ188_Arbitrage(BellmanFord)
- (转载)JS 自定义对象.属性&…
- C# 垃圾回收机制
- javaee 数据库操作DAO工厂设计模式
- 制作CDLinux 启动U盘
- PLSQL程序设计(访问oracle数据库效率最高的语言)
- (转载)Android开发之onActivityR…
- css3(border-radius)边框圆…
- Android - LayoutInflater