zoukankan      html  css  js  c++  java
  • HNU 12845 Ballot Analyzing Device

    题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12845&courseid=270

    解题报告:有m个认给n个人投票,n个认位置是固定的,输入一行字符,X表示会投给这个人,例如X....这个表示会投给第一个人,然后让你分别求出这n个人分别占总

    票数的百分之几,如果两个人票数相同,则按照原来固定的顺序。

    水题,注意任意一个人投的票要有效的话必须满足至少并且只能投一个人。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<cstdlib>
     6 using namespace std;
     7 struct node
     8 {
     9     char name[100];
    10     double num,ans;
    11     int cixu;
    12 }men[15];
    13 char str[15];
    14 bool cmp(node a,node b)
    15 {
    16     if(a.num == b.num)
    17     return a.cixu < b.cixu;
    18     return a.num > b.num;
    19 }
    20 int main()
    21 {
    22     int n,m;
    23     while(scanf("%d%d",&n,&m)!=EOF)
    24     {
    25             for(int i = 0;i < n;++i)
    26             {
    27                 scanf("%s",men[i].name);
    28                 men[i].num = 0;
    29                 men[i].cixu = i;
    30             }
    31             strcpy(men[n].name,"Invalid");
    32             int tt = m;
    33             while(tt--)
    34             {
    35                 scanf("%s",str);
    36                 int f = -1;
    37                 for(int i = 0;i < n;++i)
    38                 if(str[i] == 'X')
    39                 {
    40                     if(f == -1) f = i;
    41                     else f = n;
    42                 }
    43                 if(f == -1) f = n;
    44                 men[f].num++;
    45             }
    46             for(int i = 0;i <= n;++i)
    47             men[i].ans = 100.0 * men[i].num /  (double)m;
    48             sort(men,men+n,cmp);
    49             for(int i = 0;i <= n;++i)
    50             printf("%s %.2lf%%
    ",men[i].name,men[i].ans);
    51     }
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    定位属性position,相对定位,绝对定位
    flex弹性盒模型?
    vue生命周期
    理解cookie、session、token
    前端兼容性问题
    JS 如何为一个元素怎么绑定多个事件?
    js数组的操作方法
    vue页面翻页勾选的记忆功能
    Vue中nextTick的正确使用
    Vue用router.push(传参)跳转页面,参数改变,跳转页面数据不刷新的解决办法
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3872409.html
Copyright © 2011-2022 走看看