POJ-2240 -Arbitrage(Bellman)
题目链接:Arbitrage
让这题坑了,精度损失的厉害。用赋值的话。直接所有变成0.00了,无奈下,我仅仅好往里输了,和POJ1860一样找正环,代码也差点儿相同,略微改改就能够了,可是这个题精度损失的比那个。
。。。
水过
POJ计划的最短路模块,刷完了,最短路问题,挺坑的,可是就是那点东西,变来变去,就是改改dis[]的更新条件。
明天就要開始POJ的最小生成树了,
ME TI
704Kb 46Ms
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 50;
const int M = 1010;
char a[N][N],s[N];
double dis[N];
int n,m,num;
struct node{
int u,v;
double w;
}edge[M];
int Bellman(int x)
{ dis[x] = 1.0;//開始时漏了,结果都打NO
for(int i = 0;i <n;i++)
{
for(int j = 0;j < num; j++)
{
if(dis[edge[j].v] < dis[edge[j].u] * edge[j].w)
dis[edge[j].v] = dis[edge[j].u] * edge[j].w;
}
}
for(int i = 0;i<num;i++)
{
if(dis[edge[i].v] < dis[edge[i].u]*edge[i].w)
return 1;
}
return 0; }
int main()
{
int c;
c = 0;
while(scanf("%d",&n),n)
{
c++;
for(int i = 0;i <n;i++)
dis[i] = 0; for(int i = 0;i <n;i ++)
scanf("%s",a[i]); scanf("%d",&m);
num = 0;
while(m--)
{
scanf("%s",s);
for(int i = 0;i <n;i++)
{
if(strcmp(s,a[i])== 0)
{
edge[num].u = i;
break;
}
}
scanf("%lf",&edge[num].w);
scanf("%s",s);
for(int i = 0;i <n;i++)
{
if(strcmp(s,a[i]) == 0)
{
edge[num++].v = i;
break;
}
}
}
int st;
for(int i = 0;i<n;i++)//挨个枚举,找正环
{
st = Bellman(i);
if(st)
break;
}
printf("Case %d: ",c);
if(st)
puts("Yes");
else
puts("No");
}
return 0;
}
POJ-2240 -Arbitrage(Bellman)的更多相关文章
- 最短路(Floyd_Warshall) POJ 2240 Arbitrage
题目传送门 /* 最短路:Floyd模板题 只要把+改为*就ok了,热闹后判断d[i][i]是否大于1 文件输入的ONLINE_JUDGE少写了个_,WA了N遍:) */ #include <c ...
- POJ 2240 Arbitrage / ZOJ 1092 Arbitrage / HDU 1217 Arbitrage / SPOJ Arbitrage(图论,环)
POJ 2240 Arbitrage / ZOJ 1092 Arbitrage / HDU 1217 Arbitrage / SPOJ Arbitrage(图论,环) Description Arbi ...
- poj 2240 Arbitrage 题解
Arbitrage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 21300 Accepted: 9079 Descri ...
- poj 2240 Arbitrage (Floyd)
链接:poj 2240 题意:首先给出N中货币,然后给出了这N种货币之间的兑换的兑换率. 如 USDollar 0.5 BritishPound 表示 :1 USDollar兑换成0.5 Britis ...
- POJ 2240 Arbitrage (Bellman Ford判正环)
Arbitrage Time Limit: 1000MS Memory Limit: 65536K Total Submissions:27167 Accepted: 11440 Descri ...
- POJ 2240 Arbitrage【Bellman_ford坑】
链接: http://poj.org/problem?id=2240 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- POJ 2240 Arbitrage(判正环)
http://poj.org/problem?id=2240 题意:货币兑换,判断最否是否能获利. 思路:又是货币兑换题,Belloman-ford和floyd算法都可以的. #include< ...
- poj 2240 Arbitrage
Time Limit: 1000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java class name ...
- poj 2240 Arbitrage bellman-ford算法
点击打开链接 Arbitrage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13434 Accepted: 5657 ...
- POJ 2240 Arbitrage(floyd)
http://poj.org/problem?id=2240 题意 : 好吧,又是一个换钱的题:套利是利用货币汇率的差异进行的货币转换,例如用1美元购买0.5英镑,1英镑可以购买10法郎,一法郎可以购 ...
随机推荐
- RestTemplate-postForObject源码
参数: 请求路径, 请求参数, 返回类型, 扩展模板变量
- 第1节 flume:6、flume的入门测试案例
案例:使用网络telent命令向一台机器发送一些网络数据,然后通过flume采集网络端口数据. 1.2.1 Flume的安装部署 第一步:下载解压修改配置文件 Flume的安装非常简单,只需要解压即可 ...
- 微信小程序工具真机调试提示page "xxx/xxx/xxx" is not found
解决方法: pages对象添加该页面
- 使用VS自带WCF测试客户端
打开VS自带WCF测试客户端 打开VS2015 开发人员命令提示 输入:wcftestclient,回车 提取wcftestclient 当然,可以看到VS2015 开发人员命令提示知道,当前路径在C ...
- 自定义函数导致的sql性能问题
同事说,某某报表跑的很慢,让我调查一下 优化前:该报表整体需要跑4小时以上. sql代码如下 SELECT /*省略多数查询字段*/ REP_FUN_REFCODEVALUE /*自定义函数*/ (P ...
- consul无client模式
1.推consul的镜像到生产应用全部服务器. 每个consul的server模式的容器,都需要单独的物理服务器. 主节点:docker run -d --net=host --name=consul ...
- 关键css
参考: 掘金-JS和CSS的位置对资源加载顺序的影响 起舞-什么是关键CSS 有兴趣也可以看看这里一篇关于页面加载的文章.以上掘金那篇文章说css的加载不会影响其他资源的下载,但是我测试了一下,发现是 ...
- 宝塔apache配置
apache配置 <VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "/www/wwwroot/ ...
- (二十)python 3 匿名函数
匿名函数lambda Python使用lambda关键字创造匿名函数.所谓匿名,意即不再使用def语句这样标准的形式定义一个函数.这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配.其语法是: ...
- 使用solrJ创建索引
sorlJ官方介绍谷歌翻译 SolrJ是一个API,可以让Java应用程序轻松与Solr对话. SolrJ隐藏了很多连接到Solr的细节,并允许您的应用程序通过简单的高级方法与Solr进行交互. p ...