Time Limit: 1000/500 MS
(Java/Others) Memory Limit: 65535/32768 K
(Java/Others)
Total Submission(s):
935 Accepted Submission(s):
556
分析:
互相为朋友关系或者是彼此都没有朋友关系,也就是说三人之间有三条边或者是有零条边都是称为相同关系的。
第i个点 的朋友有 P[i] 个, 我们选择这样的策略来选出3个点: 第i个点为第1个点 ,然后 从p[i] 个点中任意选一个点 作为第二个点 , 然后从 剩下的 n-1-p[i]点中 作为第三个点。 共有1*p[i]*(n-1-p[i]) 种方法, 然后对所有的 i 的种类求和 ,就是 不同关系的种类。 但是,每种三点情况 策略重复了2次,故我们需要除2。
1 #include<iostream> 2 #include<stdio.h> 3 #include<string> 4 #include<string.h> 5 #include<map> 6 #include<math.h> 7 8 using namespace std; 9 10 int main() 11 { 12 int t; 13 scanf("%d",&t); 14 while(t--) 15 { 16 int n,temp; 17 double ans=0.0,mu; 18 scanf("%d",&n); 19 for(int i=0;i<n;i++) 20 { 21 scanf("%d",&temp); 22 ans+=temp*(n-1-temp); 23 } 24 ans/=2.0; 25 mu=n*(n-1)*(n-2)/6; 26 ans=ans/(double)mu; 27 printf("%.3lf\n",1-ans); 28 } 29 return 0 ; 30 }
hdu 4503 找全是朋友或全不是朋友,布布扣,bubuko.com
原文:http://www.cnblogs.com/zn505119020/p/3577084.html