HDOJ 5645 DZY Loves Balls

来源:互联网 发布:怎么写单片机flash 编辑:程序博客网 时间:2024/05/17 23:45

DZY Loves Balls

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 782    Accepted Submission(s): 455


Problem Description
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.
 

Input
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 ai, denoting the numbers on the balls.

(1t300,2n300,1ai300)
 

Output
For each testcase, output a real number with 6 decimal places. 
 

Sample Input
231 2 33100 100 100
 

Sample Output
0.5000000.000000
 

Source
BestCoder Round #76 (div.2)
 

Recommend
wange2014   |   We have carefully selected several similar problems for you:  5664 5663 5662 5661 5660 

题目大意就是,从n个球中拿一个球不放回,第二次拿的比第一次大就会高兴。


 testcases

代码:
/*=============================AC情况===============================*//*题目网址:  http://acm.hdu.edu.cn/showproblem.php?pid=5645 *//*时间: 2016年4月10日12:35:59*//*心得: 很简单的一道题,之前用的排列组合没做出来         今天换了一种思路 ,用暴力列举所有的情况, 第二次大于第一次为胜利*/ #include<stdio.h>#include<string.h>#include<algorithm>#define G 666using namespace std;int main() {int t,n,wqs[G];int zong;scanf("%d",&t);while(t--) {double sum=0;scanf("%d",&n);double zong=n*(n-1);//求出全部的情况for(int j=0; j<n; j++)scanf("%d",&wqs[j]);for(int j=0; j<n; j++) {for(int k=0; k<n; k++) {if(wqs[k]>wqs[j])sum++;}}double ans=sum/zong;printf("%llf\n",ans);}return 0;}







0 0
原创粉丝点击