poj 2240 floyd
来源:互联网 发布:完整性保护算法 编辑:程序博客网 时间:2024/06/03 17:05
第一次写floyd ,核心代码只有5行。不过O(n^3)
#include <iostream>#include <stdio.h>#include <string>#include <memory.h>using namespace std;double dis[35][35];char str1[40],str2[40],str[40][40];double rate;int n,m;const int inf=1e8;int findbuf(char *s){ for(int i=1;i<=n;i++) if(strcmp(s,str[i])==0) return i;}void floyd(){ for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(dis[i][j]<dis[i][k]*dis[k][j]) dis[i][j]=dis[i][k]*dis[k][j];}int main(){ int cas=1; while(scanf("%d",&n),n) { memset(dis,inf,sizeof(dis)); for(int i=1;i<=n;i++) { scanf("%s",str[i]); dis[i][i]=1; } scanf("%d",&m); for(int i=1;i<=m;i++) { scanf("%s%lf%s",str1,&rate,str2); dis[findbuf(str1)][findbuf(str2)]=rate; } floyd(); int flag=0; for(int i=1;i<=n;i++) if(dis[i][i]>1) flag=1; if(flag) printf("Case %d: Yes\n",cas++); else printf("Case %d: No\n",cas++); }}
0 0
- POJ 2240 Arbitrage (Floyd)
- poj 2240Arbitrage(Floyd)
- POJ 2240 Arbitrage Floyd
- POJ 2240 Floyd
- poj 2240 floyd
- POJ 2240 Arbitrage(Floyd)
- poj 2240 floyd
- poj 2240 floyd算法
- POJ 2240 Arbitrage floyd
- poj 2240__Arbitrage (Floyd)
- poj 2240 Arbitrage 【floyd】
- POJ-2240 Arbitrage(Floyd)
- poj 2240 map+floyd
- POJ-2240 Floyd的变化..
- poj 2240 floyd(货币)
- POJ 2240 Arbitrage(Floyd)
- poj 2240 Arbitrage (Floyd)
- POJ 2240 Arbitrage Floyd || Bellman
- 黑马程序员---c语言基础--基本运算
- Parsing Arguments with getopt
- poj2393
- 堆和堆排序
- 选择排序
- poj 2240 floyd
- spring mvc json null空转""空串
- 浅谈oracle数据库索引
- 30个实例详解TOP命令
- 基础练习 数的读法
- 算法训练 区间k大数查询
- 黑马程序员-C语言学习笔记-----指针学习
- PostgreSQL学习
- iOS开发-记录1