poj 2240 Arbitrage
来源:互联网 发布:海淘比价软件 编辑:程序博客网 时间:2024/05/23 21:58
floyd的模板题,
问你跑完环后能不能变大。。
1.poj的cin真的有毒。。 900多ms,然而scanf就只要16ms。。
2.floyd要是不初始化真要死。。
我把先把每条路都设为1(自己和自己换当然是1,和别人换,即使换了也不会改变大小),把每个点都设为,然后按照题目修改路。
最后floyd跑一遍就好了。。
#include<cstdio>#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std;#define maxn 1010char name[maxn][maxn];double way[maxn][maxn];char test[maxn];int main(){ int cnt=0; int n; while(cin>>n&&n) { for(int i=1;i<=n;i++) { cin>>name[i]; } int m; cin>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { way[i][j]=1; } } double num; for(int i=1;i<=m;i++) { cin>>test; int j; for(j=1;j<=n;j++) { if(!strcmp(name[j],test)) { break; } } cin>>num; cin>>test; int k; for(k=1;k<=n;k++) { if(!strcmp(name[k],test)) { break; } } way[j][k]=num; } for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { way[i][j]=max(way[i][j],way[i][k]*way[k][j]); } } } int flag=0; for(int i=1;i<=n;i++) { if(way[i][i]>1) { flag=1; break; } } if(flag) { cout<<"Case "<<++cnt<<":"<<" Yes"<<endl; } else cout<<"Case "<<++cnt<<":"<<" No"<<endl; } return 0;}
0 0
- POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ 2240 Arbitrage (Floyd)
- poj 2240Arbitrage(Floyd)
- POJ 2240 Arbitrage Floyd
- Poj 2240 Arbitrage
- POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ 2240 Arbitrage (spfa)
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- Poj 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ-2240-Arbitrage
- poj 2240 Arbitrage
- 我和我的伙伴如何用具体的代码
- 小技巧 让导航栏变透明
- 蓝桥杯 历届试题 带分数
- 判断一个树是否为另一个树的子树
- Codeforces 579A. Raising Bacteria(位运算)
- poj 2240 Arbitrage
- 二维码扫描
- 【bzoj2648】【sjy摆棋子】【kd树】
- 深度学习新算法,完成字里行间的情绪识别
- Codeforces 558C. Amr and Chemistry(暴搞)
- Android自定义View 之 View的测量
- 我和我的同伴是如何用具体的代码
- Linux 系统裁剪笔记1
- SwipeRefreshLayout-下拉刷新控件