zoukankan      html  css  js  c++  java
  • HDU 2985 Another lottery(坑题)

    点我看题目

    题意 : 有n个人,每个人可以玩m轮,每一轮中每个参与者都有cj张票,第 i 轮的奖金是2的i次方,问你每个人所能赢得最多的奖金的概率是多少。

    思路 : 这个题比较坑啊,其实不用去算前几轮的,因为题目中要能越多的奖金越好,所以肯定是最后一轮啊,所以把每个人手中最后一轮的票想加,然后占的那个比例就是要输出的。

    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    using namespace std ;
    int a[10100] ;
    int gcd(int c,int b)
    {
        return (b>0)?gcd(b,c%b):c;
    } ;
    int main()
    {
        int m,n ;
        while(~scanf("%d %d",&m,&n))
        {
            if(m == 0 && n == 0)
                break ;
                int sum = 0 ;
            for(int i = 0 ; i < m ; i++)
            {
                for(int j = 0 ; j < n ; j++)
                    scanf("%d",&a[i]) ;
                sum += a[i] ;
            }
            for(int i = 0 ; i < m ; i++)
            {
                if(a[i] == 0)
                    printf("0 / 1
    ") ;
                else {
                        int s = gcd(sum,a[i]) ;
                        printf("%d / %d
    ",a[i]/s,sum/s) ;}
            }
        }
        return 0 ;
    }
    View Code
  • 相关阅读:
    Redis(二)
    Redis
    Nginx
    Linux的环境配置
    深入mysql
    SpringBoot入门
    Thymeleaf入门
    Mybatis之resultMap
    Mybatis入门
    使用第三方实现微信登录
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3632980.html
Copyright © 2011-2022 走看看