#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N =1010;
int a[N];
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
double ans=0;
double temp=1.0*n*(n-1)*(n-2)/6;
for(int i=1;i<=n;i++){
ans+=1.0*a[i]*(n-1-a[i])/temp;
}
printf("%.3lf\n",1-ans/2);
}
return 0;
}
这题从正面考虑比较麻烦,可以从反面考虑,找出关系不相同情况,关系不相同就是指有两个有朋友关系,与另一个没关系,对于i来说,选出一个和他有朋友关系的有a[i]种,再从剩下n-1-a[i](和他们没有关系)中选出一个就行了。