hdu 1217 利用flord算法求 有环图 2点之间最大值
Arbitrage
T ime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3082 Accepted Submission(s): 1399
Your job is to write a program that takes a list of currency exchange rates as input and then determines whether arbitrage is possible or not.
Test cases are separated from each other by a blank line. Input is terminated by a value of zero (0) for n.
USDollar
BritishPound
FrenchFranc
3
USDollar 0.5 BritishPound
BritishPound 10.0 FrenchFranc
FrenchFranc 0.21 USDollar
3
USDollar
BritishPound
FrenchFranc
6
USDollar 0.5 BritishPound
USDollar 4.9 FrenchFranc
BritishPound 10.0 FrenchFranc
BritishPound 1.99 USDollar
FrenchFranc 0.09 BritishPound
FrenchFranc 0.19 USDollar
0
Case 2: No
#include<stdio.h>
#include<map>
#include<string>
#include<string.h>
using namespace std;
double a[100][100];
char s1[1000],s2[1000];
int pos,n,flag,time,vis[50];
double mmax(double a,double b)
{
if(a>b) return a;
else return b;
}
int main()
{
int m,i,j,k,cas=0;
char s[1000];
while(scanf("%d",&n)!=EOF)
{
if(!n) break;
cas++;
map<string,int>mp;
int cnt=0;
for(i=0;i<n;i++)
{
scanf("%s",s);
if(mp.find(s)==mp.end()) mp[s]=cnt++;
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=0.0;
scanf("%d",&m);
while(m--)
{
int id1,id2;
double mid;
scanf("%s %lf %s",s1,&mid,s2);
if(mp.find(s1)==mp.end()||mp.find(s2)==mp.end()) continue;
id1=mp[s1];
id2=mp[s2]; a[id1][id2]=mid;
// printf("a[%d][%d]=%lf\n",id1,id2,mid);
}
flag=0;
for(int k=0;k!=n;k ++)
for(int i=0;i!=n;i ++)
for(int j=0;j!=n; j ++)
{
a[i][j]=mmax(a[i][j],a[i][k]*a[k][j]);
if(a[i][j]> 1 && i==j)
{
flag=true;
break;
}
} if(flag) printf("Case %d: Yes\n",cas);
else printf("Case %d: No\n",cas);
}
return 0;
}
hdu 1217 利用flord算法求 有环图 2点之间最大值的更多相关文章
- 利用Kruskal算法求最小生成树解决聪明的猴子问题 -- 数据结构
题目:聪明的猴子 链接:https://ac.nowcoder.com/acm/problem/19964 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个 ...
- hdu 1217 Arbitrage (spfa算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 题目大意:通过货币的转换,来判断是否获利,如果获利则输出Yes,否则输出No. 这里介绍一个ST ...
- hdu - 1151 Air Raid(有向无环图的最小路径覆盖)
http://acm.hdu.edu.cn/showproblem.php?pid=1151 在一个城市里有n个地点和k条道路,道路都是单向的,并且不存在环.(DAG) 现在伞兵需要去n个地点视察,伞 ...
- AcWing 858. Prim算法求最小生成树 稀疏图
//稀疏图 #include <cstring> #include <iostream> #include <algorithm> using namespace ...
- AcWing 859. Kruskal算法求最小生成树 稠密图
//稠密图 #include <cstring> #include <iostream> #include <algorithm> using namespace ...
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
如下图:要求最多可以凑成多少对对象 大佬博客: https://blog.csdn.net/cillyb/article/details/55511666 https://blog.csdn.net/ ...
- python利用dijkstra算法求解图中最短距离
利用dijkstra算法,来完成图中两个顶点间最短的距离,可以直接复制使用,只需要修改参数即可 def dijkstra_raw(edges, from_node, to_node): "& ...
- "《算法导论》之‘图’":不带权二分图最大匹配(匈牙利算法)
博文“二分图的最大匹配.完美匹配和匈牙利算法”对二分图相关的几个概念讲的特别形象,特别容易理解.本文介绍部分主要摘自此博文. 还有其他可参考博文: 趣写算法系列之--匈牙利算法 用于二分图匹配的匈牙利 ...
- POJ 2240 Arbitrage / ZOJ 1092 Arbitrage / HDU 1217 Arbitrage / SPOJ Arbitrage(图论,环)
POJ 2240 Arbitrage / ZOJ 1092 Arbitrage / HDU 1217 Arbitrage / SPOJ Arbitrage(图论,环) Description Arbi ...
随机推荐
- UITabBarController中自定义UITabBar
1.创建多个视图控制器,放如UITabBarController中 AViewController *aa = [[AViewController alloc] init]; UINavigation ...
- linux配置ssh+rsync
ssh 远程登录 sftp 文件共享 类似ftp ssh secure file transfer client scp 文件共享 类似cp ssh配置文件 /etc/ssh/s ...
- hdu5336 Walk Out
hdu5336 Walk Out 题意是:入口:地图的左上角,出口,地图的右上角,求所经过的路径的二进制数最小 照着题解敲了一遍 思路是:首先 二进制 的 位数 越小 越好,其次 二进制的前缀零越多 ...
- 调用ShellExecute所须要头文件
调用ShellExecute所须要头文件 #include "windows.h " #include "shellapi.h "
- Redis + Jedis + Spring整合遇到的异常(转)
项目中需要用到缓存,经过比较后,选择了redis,客户端使用jedis连接,也使用到了spring提供的spring-data-redis.配置正确后启动tomcat,发现如下异常: Caused b ...
- Git 在小团队中的管理流程(转)
目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...
- Android JNI 编译正确 但是提示程序有错误无法运行 而且还看不到任何错误提示 的解决方法
前几篇中一直在通过Android做JNI调用,关于JNI的配置请见:http://blog.csdn.net/watkinsong/article/details/9849973 但是前一段时间就遇到 ...
- iOS学习——ViewController(六)
ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图. iOS的SDK中提供很多原生ViewControlle ...
- TObject简要说明-对象的创建流程
TObject = class //创建 constructor Create; //释放 procedure Free; //初始化实列 class functi ...
- TApplication.Initialize的前世今生
---------------------------------------------------------------------------------------------------- ...