zoukankan      html  css  js  c++  java
  • HPU-- 1190 確率

    题目描述

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

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

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

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

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

    输入

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

    注:$1 <= T <= 100,2 <= N <= 100,1 <= color_i <= 6。$

    输出

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

    样例输入

    2
    4
    1 1 2 2
    2
    2 2

    样例输出

    0.67
    0.00
    思路:1-相同颜色的概率;
    代码:
     1 #include<cstdio>
     2 #include<cstring>
     3 int jiecheng(int x)
     4 {
     5     if(x==1)
     6         return 1;
     7     return x*jiecheng(x-1);    
     8 }
     9 int main()
    10 {
    11     int t,n,a[105],b[6];
    12     scanf("%d",&t);
    13     while(t--)
    14     {
    15         memset(b,0,sizeof(b));
    16         scanf("%d",&n);
    17         for(int i=0;i<n;i++)
    18         {
    19             scanf("%d",&a[i]);
    20             if(a[i]==1) b[0]++;
    21             if(a[i]==2) b[1]++;
    22             if(a[i]==3) b[2]++;
    23             if(a[i]==4) b[3]++;
    24             if(a[i]==5) b[4]++;
    25             if(a[i]==6) b[5]++;    
    26         }
    27         int sum=0;
    28         for(int i=0;i<6;i++)   
    29         {
    30             if(b[i]>=2)        //同种颜色,鱼的个数大于等于2,从中取2条计算概率,然后求和 
    31                 sum+=(b[i]*(b[i]-1))/2;
    32         }
    33         double m=n*(n-1)/2;   //总鱼中随机取2条的概率        
    34         printf("%.2lf
    ",1-(double)(sum)/m);    
    35             
    36     }
    37     return 0;
    38 }
  • 相关阅读:
    iOS 里面 NSTimer 防止 循环引用
    [leetcode 34] search for a range
    [leetcode 37]sudoku solver
    [leetcode 36] valid sudoku
    [leetcode 48] rotate image
    [leetcode 35] Search Insert Position
    [leetcode 27]Implement strStr()
    [leetcode 26] Remove Duplicates from Sorted Array
    [leetcode 25]Reverse Nodes in k-Group
    [leetcode 24] Swap Nodes in k-Group
  • 原文地址:https://www.cnblogs.com/hss-521/p/7372207.html
Copyright © 2011-2022 走看看