Let the Balloon Rise
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 153414 Accepted Submission(s): 60864
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.
This year, they decide to leave this lovely job to you.
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
某自闭患者的分析:首先要注意细节,比如空格什么的、输入0什么的,然后是颜色字符串的分析,这里如果没搞好的话会出错,并且错误难发现。我用的方法是如果发现相同的,对于颜色的气球数量+1,跳出判断循环,否则一直循环下去,一个数=0,每与已录入的颜色不同就+1,直到循环结束,如果+来+去的那个数等于已录入的颜色数,则判定为未录入颜色。大概大概大概大概大概就是这样吧。其余地方就是各种copy
ac代码
#include
#include
#include
using namespace std;
int main()
{
const int col = 1010, n = 20;
int a, _co[col];
while (cin >> a)
{
int i1 = 0, _col = 0, _co[col] = { 0 };
char co[col][n] = { 0 };
char b[n] = { 0 };
if (a == 0);
else
{
while (i1 != a)
{
i1++;
cin >> b;
int i3 = 0;
for (int i = 0;i <= _col;i++)
{
int i2 = 0;
for (int i3 = 0;i3 < strlen(b);i3++)
{
if (b[i3] != co[i][i3])
{
i2 = 1;
break;
}
}
if (i2 == 0)
{
_co[i]++;
break;
}
else i3++;
}
if (i3 == _col + 1)
{
int i2 = 0;
for (;i2 < strlen(b);i2++)
{
co[_col][i2] = b[i2];
}
co[_col][i2] = 0;
_co[_col]++;
_col++;
}
}
int c = 0;
for (int i = 0;i < _col ;i++)
{
if (_co[c] < _co[i])
c = i;
}
cout << co[c] << endl;
}
}
}