HDU 4503
中国語の問題.一応数論類に入れておきましょう
n人の子供がいます
すべての子供はb[i]人の友达がいて自然にn-1-b[i]人の非友达がいて、彼の1人の友达、彼の1人の非友达の构成の组み合わせは题意を満たしていません
しかしそれ以外のすべての組み合わせは題意を満たしている.
したがって、不満足な組合せを計算することによって
それぞれの子供に対してb[i]*(n-1-b[i])個の組合せがあり、この組合せの累積は友人にもう一度計算されるので、結果を2で割ると満たされない組合せ数になります
全体の組み合わせはC(n,3)
n人の子供がいます
すべての子供はb[i]人の友达がいて自然にn-1-b[i]人の非友达がいて、彼の1人の友达、彼の1人の非友达の构成の组み合わせは题意を満たしていません
しかしそれ以外のすべての組み合わせは題意を満たしている.
したがって、不満足な組合せを計算することによって
それぞれの子供に対してb[i]*(n-1-b[i])個の組合せがあり、この組合せの累積は友人にもう一度計算されるので、結果を2で割ると満たされない組合せ数になります
全体の組み合わせはC(n,3)
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1010];
int main()
{
int total;
scanf("%d",&total);
while(total--)
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int ans=0;
for(int i=0;i<n;i++)
{
ans+=a[i]*(n-a[i]-1);
}
ans/=2;
printf("%.3f
",1-1.0*ans/(n*(n-1)*(n-2)/6));
}
return 0;
}