您的位置:首页 > 其它

Hdu 4503 湫湫系列故事——植树节

2013-03-23 12:51 155 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4503

2013腾讯编程马拉松第一场的一道题

思路:概率从反面考虑就行了,取不完全相同的组合即可。

题目中已经交代了:“如果a小朋友和b小朋友是朋友,那么b小朋友和a小朋友也一定是好朋友”,所以选定一个i,从给出的他的好友里取一人,从不是他朋友的人中选一人。

#include <cstdio>

int data[1005];

int main ()
{
#ifdef ONLINE_JUDGE
#else  
    freopen("read.txt","r",stdin);
#endif
	int T,n;
	scanf("%d",&T);
	while (T--)
	{
		int i,ans=0;
		scanf("%d",&n);
		for (i=0;i<n;i++)
			scanf("%d",&data[i]);
		int sum=n*(n-1)*(n-2)/6;    //C(n,3)
		for (i=0;i<n;i++)
			ans+=data[i]*(n-data[i]-1);
		ans=sum-ans/2;
		printf("%.3lf\n",1.0*ans/sum);
	}
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: