[HNOI2009]最小圈
题号:NC20074
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

考虑带权的有向图G=(V,E)以及w:E→R,每条边e=(i,j)(i≠j,i∈V,j∈V)的权值定义为wi,j,令n=Vc=(c1,c2,,ck)(ciV)G中的一个圈当且仅当(ci,ci+1)(1≤i<k)(ck,c1)都在E,这时称k为圈c的长度同时令ck+1=c1并定义圈c=(c1,c2,,ck)的平均值为
,
c上所有边的权值的平均值。μ(c)=Min(μ(c))G中所有圈c的平均值的最小值。现在的目标是:在给定了一个图G=(V,E)以及w:ER之后,请求出G中所有圈c的平均值的最小值μ(c)=Min(μ(c))

输入描述:

第一行2个正整数,分别为n和m,并用一个空格隔开,只用n=|V|,m=|E|分别表示图中有n个点m条边。 
接下来m行,每行3个数i,j,wi,j,表示有一条边(i,j)且该边的权值为wi,j
输入数据保证图G=(V,E)连通,存在圈且有一个点能到达其他所有点。

输出描述:

请输出一个实数μ′(c)=Min(μ(c)),要求输出到小数点后8位。
示例1

输入

复制
4 5
1 2 5
2 3 5
3 1 5
2 4 3
4 1 3

输出

复制
3.66666667

备注:

对于100%的数据,