此题原本是一个简单的排序,但因为数据范围的限制,所以变成了一个需采用字符串排序的题目,接下来我将给大家讲一下如何字符串排序。
首先先判断为位数上是否相同,如果不同再比较那一位的数就可以了
#include<iostream>
#include<algorithm>
using namespace std;
struct ren
{
string s;
int b;
};
int cmp(ren a,ren b)
{
if(a.s.size()!=b.s.size())
return a.s.size()>b.s.size();
else
return a.s>b.s;
}
int main()
{
int n;
cin>>n;
struct ren a[n+1];
for(int i=1; i<=n; i++)
{
cin>>a[i].s;
a[i].b=i;
}
sort(a+1,a+n+1,cmp);
cout<<a[1].b<<endl<<a[1].s;
return 0;
}