hdu 1217 Arbitrage 最短路 floyd+map容器
2016-03-30 20:49
483 查看
题意:给出n种货币,m对货币之间的汇率,判断能不能经过兑换来套利。
这题的数据比较小,n最大只有30,所以可以用floyd暴力求解。注意map容器的使用。
这题的数据比较小,n最大只有30,所以可以用floyd暴力求解。注意map容器的使用。
#include <iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #include<map> using namespace std; int n; double d[55][55]; void floyd() { for(int k=0;k<n;k++) for(int i=0;i<n;i++) for(int j=0;j<n;j++) d[i][j]=max(d[i][j],d[i][k]*d[k][j]); for(int i=0;i<n;i++) if(d[i][i]>1.0) { cout<<"Yes"<<endl; return; } cout<<"No"<<endl; return ; } int main() { int kase=0,m; while(~scanf("%d",&n)&&n) { map<string,int>mp; for(int i=0;i<n;i++) { char name[110]; scanf("%s",name); mp[name]=i; } scanf("%d",&m); memset(d,0,sizeof(d)); for(int i=0;i<m;i++) { char name1[110],name2[110]; double c; scanf("%s %lf %s",name1,&c,name2); d[mp[name1]][mp[name2]]=c; } printf("Case %d: ",++kase); floyd(); } }
相关文章推荐
- 杭电1032
- 扣丁学堂笔记第16天SQLite数据库
- IT行业导览-4.3-数据分析师
- JNI/NDK开发指南(一)—— JNI开发流程及HelloWorld
- ZOJ2539 Energy Minimization(最小割)
- Shiro Quartz之Junit測试Session管理
- Python Select 解析
- [JAVA · 初级]:13.接口
- UVALIVE 4329(树状数组)
- bloom filter 算法
- css如何控制div完全居中
- 记录阿里云ECS服务器Java开发环境的搭建过程
- 拆分字符串,GetHtmlByWebBrowser,UnicodeToMBCS,提升进程权限
- Java 的枚举(Enums) 可以实现接口(Interfaces)
- hdu3790
- Textview超链接实现方式总结
- 内存泄漏与内存溢出的区别?
- 算法导论之排序:快速排序、归并排序、计数排序、基数排序、桶排序
- 走迷宫--图的搜索(bfs)并记录路径
- 软件测试 覆盖部分作业