记录编号 425342 评测结果 AAAAAAAAAA
题目名称 [Nescafe19] 绿豆蛙的归宿 最终得分 100
用户昵称 GravatarHzoi_Mafia 是否通过 通过
代码语言 C++ 运行时间 0.088 s
提交时间 2017-07-15 08:39:07 内存使用 2.26 MiB
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
inline int read(){
	int sum(0);
	char ch(getchar());
	for(;ch<'0'||ch>'9';ch=getchar());
	for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar());
	return sum;
}
struct edge{
	int s,e,n,w;
	bool mark;
}a[200001];
int pre[100001],tot;
inline void insert(int s,int e,int w){
	a[++tot].s=s;
	a[tot].e=e;
	a[tot].w=w;
	a[tot].mark=false;
	a[tot].n=pre[s];
	pre[s]=tot;
}
int degree[100001];
int n,m;
double f[100001];
//bool vis[100001];
/*inline void dfs(int u){
//	cout<<u<<endl;
	if(u==1)
		return;
//	vis[u]=1;
	for(int i=pre[u];i!=-1;i=a[i].n)
		if(!a[i].mark){
//			a[i].mark=1;
			int e(a[i].e);cout<<u<<' '<<e<<endl;
			f[e]+=(double)a[i].w/degree[e];
			f[e]+=(double)f[u]/degree[e];
			dfs(a[i].e);
		}
//	for(int i=pre[u];i!=-1;i=a[i].n)
//		if(!vis[a[i].e])
//			dfs(a[i].e);
}*/
inline double dfs(int u){
	if(u==n)
		return 0;
	for(int i=pre[u];i!=-1;i=a[i].n){
		f[u]+=dfs(a[i].e)/(double)degree[u];
		f[u]+=(double)a[i].w/(double)degree[u];
	}
	return f[u];
}
inline int ain(){
	freopen("ldfrog.in","r",stdin);
	freopen("ldfrog.out","w",stdout);
	memset(pre,-1,sizeof(pre));
	n=read(),m=read();
	for(int i=1;i<=m;i++){
		int x(read()),y(read()),z(read());
		insert(x,y,z);
		degree[x]++;
	}
//	double ans(0);
//	for(int i=1;i<=n;i++)
//		ans+=f[i];
	printf("%.2f",dfs(1));
}
int in(ain());
int main(){;}