zoukankan      html  css  js  c++  java
  • #1004 Let the Balloon Rise

    http://acm.hdu.edu.cn/showproblem.php?pid=1004

    输入一些字符串,输出其中出现次数最多的字符串。

     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 int main()
     5 {
     6     int N, num[1000] = { 0 };
     7     int lop, lop2, max, t;
     8     char color[1000][16] = { 0 };
     9     while (scanf("%d", &N) != EOF && N)
    10     {
    11         memset(color, 0, sizeof(color));
    12         memset(num, 0, sizeof(num));
    13         for (lop = 0; lop < N; lop++)
    14         {
    15             scanf("%s", color[lop]);
    16         }
    17         for (lop = 0; lop < N - 1; lop++)
    18         {
    19             for (lop2 = lop+1; lop2 < N; lop2++)
    20             {
    21                 if (!strcmp(color[lop], color[lop2]))
    22                 {
    23                     num[lop]++;
    24                 }
    25             }
    26         }
    27         max = num[0];
    28         t = 0;
    29         for (lop = 1; lop < N; lop++)
    30         {
    31             if (max < num[lop])
    32             {
    33                 max = num[lop];
    34                 t = lop;
    35             }
    36         }
    37         printf("%s
    ", color[t]);
    38     }
    39     return 0;
    40 }

    我这是比较蠢的办法,所有字符串先输入完,再来一个个比,一样的计数就加1,最后再求一次计数最大的那个,十分麻烦。

    似乎可以每输入一个字符串就对已有的所有字符串进行一次比较,应该能更好一点。

  • 相关阅读:
    分层图(了解一下,下一道比较好做)
    图论---The Captain
    数论
    NOIp复习计划
    20201116 Day4 卢卡斯定理
    20201113 Day3 斜率优化
    20201110Day2 分块
    20201030 day50 复习13:逆元、裴蜀定理
    20201030day50 模板全掌握
    20201029 day49 模拟(十八)
  • 原文地址:https://www.cnblogs.com/makejeffer/p/4752106.html
Copyright © 2011-2022 走看看