G - 確率(水题)
自己写的时候也AC了出来,但是使用的暴力的方法,今天发现别人有简单的方法,复制过来,以后查看。
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<algorithm> 5 using namespace std; 6 7 int fun(int x) 8 { 9 if(x<2) 10 return 0; 11 else 12 return x*(x-1)/2; 13 } 14 15 int main() 16 { 17 int t,n,i,k,j; 18 int a[10]; 19 double p; 20 scanf("%d",&t); 21 while(t--) 22 { 23 scanf("%d",&n); 24 memset(a,0,sizeof(a)); 25 for(i=0;i<n;i++) 26 { 27 scanf("%d",&k); 28 a[k]++; 29 } 30 k=fun(n); 31 j=0; 32 for(i=1;i<=6;i++) 33 j+=fun(a[i]); 34 p=1-j*1.0/k; 35 printf("%.2lf\n",p); 36 } 37 return 0; 38 }
永远渴望,大智若愚(stay hungry, stay foolish)