HDU 5645 DZY Loves Balls(概率)
2016-03-29 16:44
190 查看
DZY Loves Balls
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 661 Accepted Submission(s): 389
[align=left]Problem Description[/align]
DZY loves playing balls.
He has n
balls in a big box. On each ball there is an integer written.
One day he decides to pick two balls from the box. First he randomly picks a ball from the box, and names it
A
.
Next, without putting A
back into the box, he randomly picks another ball from the box, and names it
B
.
If the number written on A
is strictly greater than the number on B
,
he will feel happy.
Now you are given the numbers on each ball. Please calculate the probability that he feels happy.
[align=left]Input[/align]
First line contains t
denoting the number of testcases.
t
testcases follow. In each testcase, first line contains
n
,
second line contains n
space-separated positive integers a
i
,
denoting the numbers on the balls.
(1≤t≤300,2≤n≤300,1≤a
i
≤300
)
[align=left]Output[/align]
For each testcase, output a real number with 6 decimal places.
[align=left]Sample Input[/align]
2 3 1 2 3 3 100 100 100
[align=left]Sample Output[/align]
0.500000 0.000000 [code]/* 思路:对求号码进行排序 取两次球第一次不放回,所有可能的情况为n*(n-1),对于每一个球,枚举比他大的球的位置j, n-j即为比第一次球大的数目a,a/(n*(n-1)),即为每一次的概率,累加即为结果 */ #include <iostream> #include <algorithm> #include <cstdio> using namespace std; const int N=300+5; int a ; int main(){ int t,i,j,n; double re; cin>>t; while(t--){ cin>>n; re=0; for(i=0;i<n;i++) cin>>a[i]; sort(a,a+n); for(i=0;i<n;i++){ //枚举每一个球 for(j=i+1;j<n;j++){ //找到比第一个球大的位置 if(a[i]<a[j]){ break; } } re+=(double)(n-j)/(n*(n-1)); } printf("%.6lf\n",re); } return 0; }
[/code]
相关文章推荐
- TestLink 安装部署教程
- ARM Linux 3.x的设备树(Device Tree)
- 图像滤镜的基本方法
- node.js 入门实例【转】
- 作业4 词频统计2
- 《人人都是产品经理》读书笔记
- 简单使用Boost线程池threadpool
- EditText焦点问题
- 动态规划回顾(1):最大连续子序列和
- 面试题的那些事(2)—斐波那契数列
- VC中CTreeCtrl控件单击事件,如何判断是单击的是某项的按钮,还是单击的文字
- Remastersys---制作当前的ubuntu系统镜像iso,自定义ubuntu系统
- JDBC驱动自身问题引发的FullGC
- HITS算法详解及代码实现
- JAVA打印二维码图片自定义高度
- iOS开发-git版本控制
- PHP 两张图片合成一张图片(加水印)
- Navicat异地自动备份MySQL方法详解(图文)
- iOS 原生态扫描二维码、条形码的功能。
- Gulp实战