题目链接[http://codeforces.com/problemset/problem/444/A]
题意:给出一个无向图,找出一个联通子图,定义密度#=v(顶点值的和)/e(边值的和)。
条件:一个联通的子图中所有定点的和,边和为顶点所有可能链接的边。
结论题:
最大的密度一定是某条边所链接的某两个顶点。
#include<bits/stdc++.h> using namespace std; const int maxn=500+5; int X[maxn]; int n,m; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&X[i]); int a,b,c; double ma=0.0; for(int i=1;i<=m;i++) { scanf("%d%d%d",&a,&b,&c); double t=(double)(X[a]+X[b])/c; ma=max(ma,t); } printf("%.15f\n",ma); return 0; }