80分,思路没有一点毛病,,,,
查看原帖
80分,思路没有一点毛病,,,,
1030621
out_ftg楼主2023/7/4 19:36

为什么是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];
	//return a < b;
}
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来标记一下他们的编号,再对数组进行一个升序排序,排序后就输出最大的字符串,也就是票数的最多的那个,与之对应的编号也可以直接得到。


所以,为什么不能过啊,求佬指点

2023/7/4 19:36
加载中...