洛谷——P2784 化学1(chem1)- 化学合成
P2784 化学1(chem1)- 化学合成
题目背景
蒟蒻HansBug在化学考场上,挠了无数次的头,可脑子里还是一片空白。
题目描述
眼下出现在蒟蒻HansBug面前的是一个化学合成题,据他所知,一般答案如下面这样的格式:
(接下一行)
简单解释下:每种化合物可以通过一步反应生成另一个化合物(将这称作一步反应,设为 A--->B),现在假设每个A--->B中,理论上1个单位的A都仅可以生成1个单位的B。然而实际实验表明,并不存在绝对完全的化学转化,设转化率为C(即1个单位A实际可以生成C个单位的B,0<C<1)。
现在蒟蒻HansBug的知识体系中有N个这样A--->B的转化。然而题目中蒟蒻HansBug要由1个单位的化合物S生成化合物T,可是他脑细胞和RP已经消耗殆尽,所以找到最终产量最高的合成路线的艰巨任务就交给你啦!
输入输出格式
输入格式:
第一行为4个整数:N、M、S、T,分别表示总共出现的化合物个数、HansBug所知道的反应个数、起始的化合物序号、终末的化合物序号。(1<=S、T<=N)
第2-M+1行每行为两个整数和一个实数:Ai、Bi、Ci,分别表示第i个反应为由1个单位的Ai化合物生成Ci单位的Bi化合物。
输出格式:
一行,包含一个实数,为最佳路线下最终的产量(四舍五入保留4位小数),如果没有可行路线的话,输出orz。
输入输出样例
说明
样例1和样例2中,两条合成路线分别为1--->3、1--->2、2--->3,产率分别为0.8、0.9、0.9。
在样例1中,有两种可行的路线1--->3和1--->2--->3,最终产量分别为0.8、0.9*0.9=0.81,故第二条路线更优,产量为0.8100。
样例2中,2只能生成3,3无法生成别的化合物,故无法生成,蒟蒻HansBug只好选择orz。
样例数据:
spfa求最长路
#include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 1000100 #define maxn 9999999 using namespace std; queue<int>q; bool vis[N]; double z,dis[N]; int n,m,a,b,x,y,tot,head[N]; int read() { ,f=; char ch=getchar(); ;ch=getchar();} +ch-',ch=getchar(); return x*f; } struct Edge { int to,next; double dis; }edge[N*]; int add(int x,int y,double z) { tot++; edge[tot].to=y; edge[tot].dis=z; edge[tot].next=head[x]; head[x]=tot; } int spfa(int s) { // for(int i=1;i<=n;i++) dis[i]=0; dis[s]=,vis[s]=;q.push(s); while(!q.empty()) { x=q.front(),q.pop();vis[x]=false; for(int i=head[x];i;i=edge[i].next) { int t=edge[i].to; if(dis[t]<dis[x]*edge[i].dis) { dis[t]=dis[x]*edge[i].dis; if(!vis[t]) vis[t]=true,q.push(t); } } } } int main() { n=read(),m=read(),a=read(),b=read(); ;i<=m;i++) { x=read(),y=read(); scanf("%lf",&z); add(x,y,z); } spfa(a); ) printf("orz"); else printf("%.4lf",dis[b]); ; }
洛谷——P2784 化学1(chem1)- 化学合成的更多相关文章
- Tarjan+LCA【洛谷P2783】 有机化学之神偶尔会做作弊
[洛谷P2783] 有机化学之神偶尔会做作弊 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 有一天他一边搓炉石一边监考,而你作为一个信息竞赛的大神也来凑热闹. 然而你的化竞基友却向你求助了. ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷P1710 地铁涨价
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交 讨论 题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
- 洛谷P1538迎春舞会之数字舞蹈
题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
随机推荐
- PHP扩展--Yaf框架安装
安装/配置 编译安装 wge thttp://pecl.php.net/get/yaf-2.3.5.tgz tar -zxvfyaf-2.3.5.tgz cd yaf-2.3.5/ cd extens ...
- ECMAScript5中新增的Array方法实例详解
ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法.(注意兼容性) 在ES5中,一共有9个Array方法:http://kangax.githu ...
- 边缘检测:Canny算子,Sobel算子,Laplace算子
1.canny算子 Canny边缘检测算子是John F.Canny于 1986 年开发出来的一个多级边缘检测算法.更为重要的是 Canny 创立了边缘检测计算理论(Computational the ...
- bzoj 1588 bst
用set存下就好了. /************************************************************** Problem: 1588 User: BLADE ...
- Part2-HttpClient官方教程-Chapter3-HTTP状态管理
ps:近日忙于课设与一个赛事的准备....时间真紧啊~~ 最初,HTTP被设计为一种无状态的,面向请求/响应的协议,它并没有为跨越多个逻辑相关的请求/响应交换的有状态会话做出特殊规定.随着HTTP协议 ...
- 【转】jpg文件格式详解
JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写.它由国际电话与电报咨询委员会CCITT(The International Telegraph ...
- mysql 之修改初始密码
转载自:https://www.cnblogs.com/ivictor/p/5142809.html 为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于er ...
- 自动化测试===unittest配套的HTMLTestRunner.py生成html报告源码
更改版: 全部复制,命名为 HTMLTestRunner.py 文件 #使用方法参见之前的文档:自动化测试===unittest和requests接口测试案例,测试快递查询api(二) " ...
- 64_m1
MAKEDEV-3.24-18.fc26.x86_64.rpm 13-Feb-2017 22:33 101030 MUMPS-5.0.2-8.fc26.i686.rpm 14-Feb-2017 13: ...
- openssl-0.9.8y
openssl-0.9.8y 支持 32位和64位 编译不报错和向上兼容和向下兼容. http://www.openssl.org/source/openssl-0.9.8y.tar.gz https ...