为什么是80分啊
#include <iostream>
#include <cstring>
#include <algorithm>
#include <map>
using namespace std;
const int N = 25;
string ss[N];
bool cmp(const string &a, const string &b)
{
if (a.size() != b.size())
return a.size() < b.size();
for (int i = 0; i < a.size(); i ++)
return a[i] < b[i];
}
map<string, int> mp;
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i ++)
{
cin >> ss[i];
mp[ss[i]] = i + 1;
}
sort(ss, ss + n, cmp);
cout << mp[ss[n - 1]] << endl;
cout << ss[n - 1] << endl;
}
我的思路是把票数作为字符串读入到数组中。同时用map来标记一下他们的编号,再对数组进行一个升序排序,排序后就输出最大的字符串,也就是票数的最多的那个,与之对应的编号也可以直接得到。
所以,为什么不能过啊,求佬指点