概率

点击打开链接

问题 G: 確率

时间限制: 1 Sec  内存限制: 128 MB

提交: 438  解决: 198

题目描述

话说当年语文考满分的你认识标题第一个字吗?


HPU有很多内湖,湖里面放养了很多金鱼(还有黑白天鹅?),每天都会有很多小伙伴在湖边看金鱼在水中嬉戏(黑白天鹅打架?)。

Ocean是一个善于思考的好孩子,今天他给你出了一道题目:
假设湖中一共有 N N条金鱼,现在Ocean随机挑出两条金鱼,问这两条金鱼颜色不同的概率?

为了降低题目难度,Ocean认为金鱼只会有 6 6种不同的颜色,即 123456 1,2,3,4,5,6。

PS:在挑出来第二条鱼之前,Ocean是不会将第一条鱼放入湖中的。

输入

第一行输入一个整数 T T,代表有 T T组测试数据。
每组数据占两行,第一行输入一个整数 N N代表上面提到的信息。
下面一行输入 N N个整数 colori colori,代表第 i i条金鱼的颜色。
colori=1 colori=1,代表第 i i条金鱼的颜色为 1 1,其它依次类推。

注: 1<=T<=1002<=N<=1001<=colori<=6 1<=T<=100,2<=N<=100,1<=colori<=6。

输出

对每组测试数据,输出一个浮点数代表最后的结果,要求保留两位小数

样例输入

2
4
1 1 2 2
2
2 2

样例输出

0.67
0.00
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	int t,m,n,i;
	float ans,x,a1,a2,a3,a4,a5,a6;
	scanf("%d",&t);
	while(t--)
	{
		a1=a2=a3=a4=a5=a6=0;
		scanf("%d",&n);
		for(i=0;i<n;i++)
		{
			scanf("%d",&m);
			if(m==1)
			a1++;
			//printf("%f\n",a1);
			if(m==2)
			a2++;
			if(m==3)
			a3++;
			if(m==4)
			a4++;
			if(m==5)
			a5++;
			if(m==6)
			a6++;
		}
		x=n*(n-1)/2;
		a1=a1*(a1-1)/2;
		a2=a2*(a2-1)/2;
		a3=a3*(a3-1)/2;
		a4=a4*(a4-1)/2;
		a5=a5*(a5-1)/2;
		a6=a6*(a6-1)/2;
		ans=1-(a1+a2+a3+a4+a5+a6)/x;
		//printf("%.2f\n",x);
		//printf("%.2f\n",a1+a2+a3+a4+a5+a6);
		printf("%.2f\n",ans);
	}
	 
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值