博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TYVJP1933 绿豆蛙的归宿
阅读量:6816 次
发布时间:2019-06-26

本文共 1203 字,大约阅读时间需要 4 分钟。

 

背景

随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿。

描述

给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达终点。绿豆蛙从起点出发,走向终点。
到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K 。
现在绿豆蛙想知道,从起点走到终点的所经过的路径总长度期望是多少?

输入格式

第一行: 两个整数 N M,代表图中有N个点、M条边
第二行到第 1+M 行: 每行3个整数 a b c,代表从a到b有一条长度为c的有向边

输出格式

从起点到终点路径总长度的期望值,四舍五入保留两位小数。

测试样例1

输入

4 4 
1 2 1 
1 3 2 
2 3 3 
3 4 4

输出

7.00

备注

对于20%的数据   N<=100
对于40%的数据   N<=1000
对于60%的数据   N<=10000
对于100%的数据  N<=100000,M<=2*N
 
 
拓扑+动规
测试数据本地均测试无误,但提交的时候全输出0,目测是不知道为什么数据没读进去。诡异,暂未解决。
 
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 const int mxn=120000; 9 vector
e[mxn];10 vector
len[mxn];11 queue
q;12 int out[mxn],deg[mxn]; 13 double f[mxn];14 int n,m;15 16 int main(){17 cin>>n>>m;18 int i,j;19 int a,b,c;20 for(i=1;i<=m;i++){21 scanf("%d %d %d",&a,&b,&c);22 e[b].push_back(a);//入边 23 len[b].push_back(c);//边长 24 out[a]++;25 }26 for(i=1;i<=n;i++)deg[i]=out[i];//备份 27 q.push(n);28 while(!q.empty()){29 int v=q.front(),u,le;30 q.pop();31 for(i=0;i

 

 

转载于:https://www.cnblogs.com/SilverNebula/p/5634373.html

你可能感兴趣的文章
pio 背景色
查看>>
【原】移动web资源整理(安卓、ios移动端兼容性问题归整)
查看>>
关于synchronized与volatile的一点认识
查看>>
<转载>http头 http://www.cnblogs.com/meil/archive/2007/03/06/665843.html
查看>>
[转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
查看>>
程序员如何对待自己的工作
查看>>
linux内核段属性机制【转】
查看>>
eclipse设置系统字体
查看>>
复旦大学考研科目
查看>>
16、Java并发性和多线程-死锁
查看>>
Linux下用netstat查看网络状态、端口状态
查看>>
Java 实现有序链表
查看>>
zoj 1203 Swordfish
查看>>
手机怎么访问电脑服务器上的网页
查看>>
Python帮助函数调试函数 用于获取对象的属性及属性值
查看>>
制做rpm包工具fpm安装
查看>>
POJ 2253-Frogger (Prim)
查看>>
哪种锻炼方式最能让程序猿远离亚健康? - 强烈推荐
查看>>
基于Metronic的Bootstrap开发框架经验总结(15)-- 更新使用Metronic 4.75版本
查看>>
Kafka(二)-- 安装配置
查看>>