Description:
给你n个单词,请你找出长度最长的那个单词。如果长度最长的单词不唯一,请你输出长度最长的单词中字典序最小的那个单词。
Input:
第一行一个整数n, 接下来n行每行一个单词 n<=100 每个单词都由小写字母构成,且长度不超过20
Output:
长度最长的那个单词
Sample Input:
6 illuminate contradict abandon blbnb decide annually
Sample Output:
contradict
代码如下:
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
int n,i;
cin >> n;
string a[100];
int len[100];
map<string, int> m;
string max=a[0];
for (i = 0; i < n; i++)
{
cin >> a[i];
m[a[i]] = a[i].length();
}
for (i = 1; i < n; i++)
{
if (m[a[i]] > m[max])
max = a[i];
if (m[a[i]] == m[max])
{
max = max < a[i] ? max : a[i];
}
}
cout << max;
return 0;
}