码迷,mamicode.com
首页 > 其他好文 > 详细

HDU1004

时间:2017-11-09 20:46:27      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:mit   char   tle   决定   结果   sam   stdio.h   sample   out   

Let the Balloon Rise

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

问题描述

比赛一次又一次!看到气球在周围漂浮是多么的兴奋。但要告诉你一个秘密,评委最喜欢的时间是猜测最流行的问题。比赛结束后,他们将计算每一种颜色的气球,并找出结果。

今年,他们决定把这份可爱的工作留给你。

输入

输入包含多个测试用例。每个测试用例以数字N(0 <= 1000)开始,气球的总数分布。接下来的N行包含一种颜色。气球的颜色是由最多15个小写字母组成的字符串。

一个包含N = 0的测试用例终止输入,这个测试用例不被处理

输出

对于每种情况,在单行上打印气球的颜色。它保证每个测试用例都有一个唯一的解决方案。

Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
 
Sample Output
red
pink
 
过程可能比较繁
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 typedef struct {
 5     int num;
 6     char color[16];
 7 }Color;
 8 int main()
 9 {
10     Color *str;
11     char s[16];
12     int n,j,i,max;
13     scanf("%d",&n);
14     while(n!=0)
15     {
16         str=(Color*)malloc(n*sizeof(Color));
17         for(i=0;i<n;i++)
18         {
19             str[i].num=0;
20             strcpy(str[i].color,"NULL");    //结构数组初始化
21 
22         }
23 
24         for(i=0;i<n;i++)
25         {
26             scanf("%s",s);
27             for(j=0;j<n;j++)
28             {
29                 if(strcmp(s,str[j].color)==0)   //先遍历,看是否存在这个颜色,如果有数目++
30                 {
31                     str[j].num++;
32                     break;
33                 }
34             }
35             if(j==n)  //如果不存在,从结构数组0开始找,没有颜色的成员,然后赋值
36             {
37                 for(j=0;j<n;j++)
38                 {
39                     if(strcmp(str[j].color,"NULL")==0)
40                     {
41                         strcpy(str[j].color,s);
42                         str[j].num++;
43                         break;
44                     }
45                 }
46             }
47         }
48         max=0;   //让MAX作为最多元素下标,遍历对比
49             for(i=1;i<n;i++)
50             {
51                 if(str[max].num<str[i].num)
52                     max=i;
53             }
54             printf("%s\n",str[max].color);
55             free(str);
56             scanf("%d",&n);
57     }
58     return 0;
59 }

 

 

 

HDU1004

标签:mit   char   tle   决定   结果   sam   stdio.h   sample   out   

原文地址:http://www.cnblogs.com/BOW1203/p/7811125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!