Let the Balloon Rise HDU 1004

Let the Balloon Rise

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 150   Accepted Submission(s) : 63
Problem Description
Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will count the balloons of each color and find the result.<br><br>This year, they decide to leave this lovely job to you. <br>
 

Input
Input contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines contain one color each. The color of a balloon is a string of up to 15 lower-case letters.

A test case with N = 0 terminates the input and this test case is not to be processed.
 

Output
For each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case.
 

Sample Input
   
   
   
   
5 green red blue red red 3 pink orange pink 0
 

Sample Output
   
   
   
   
red pink
 

Author
WU, Jiazhi
 

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
    char str[1001][16];
    int count[1001];
    int n,i,j,index;
    int cnt;
    while(scanf("%d",&n),n){
        index=0;
        char temp[16];
        memset(count,0,sizeof(count));
        while(n--){
            scanf("%s",temp);
            for(j=0;j<index;j++){
                if(strcmp(temp,str[j])==0){
                    count[j]++;
                    break;
                }
            }
            if(j==index){
                memcpy(str[index++],temp,sizeof(temp));
                count[j]++;
            }


        }
        for(i=0,cnt=0;i<index;i++)
                if(count[i]>count[cnt])
                cnt=i;
        printf("%s\n",str[cnt]);

    }
}


你可能感兴趣的:(ACM)