Hust oj 1672 玻璃小屋的卫生(枚举)

玻璃小屋的卫生
Time Limit: 1000 MSMemory Limit: 32768 K
Total Submit: 102(73 users)Total Accepted: 71(71 users)Rating: Special Judge: No
Description

    玻璃小屋看着实在太乱了,是时候要好好收拾一下了。他们决定采取民主制,大家一起表决让谁打扫卫生。

    现在制定了这个规则:大家站成一圈,数1,2,3然后同时伸出一只手比划出1,2,3,4,5其中的一个数。所有人的位置编号为1~N,并且小G的编号是1。若每个人伸出的手指的总数为m,那么从小G开始按顺时针方向从1开始报数,报数为m的人负责打扫卫生。

当大家(除了小G)都伸出手表示出一个数的时候,小G犹豫了一下,忘记出手了,但她看到了其他人伸出的手指的个数,由于计算太麻烦,她就随机出了一个数,请帮小G计算出她不用打扫卫生的概率。


Input

第一行输入n(1<= n <= 100),表示除小G外玻璃小屋有n个人。

第二行输入n个数,表示每个人比划出的手指个数。

Output

输出小G不用打扫卫生的概率,答案保留两位。

Sample Input

9

5 4 5 2 1 3 5 1 4

1

1

Sample Output

0.80

0.60

既然只可能是1到5之间的数字,那么久枚举这五种情况然后求概率就好了

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

const int maxn = 105;
int a[maxn];
int n;

int main()
{
    while(~scanf("%d",&n))
    {
        int sum = 0;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            sum += a[i];
        }
        int ans = 0;
        for(int i=1;i<=5;i++)
        {
            if((sum + i) % (n+1) == 1)
                ans++;
        }
        printf("%.2f\n",(5-ans)/5.0);
    }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值