此题原本是一个简单的排序,但因为数据范围的限制,所以变成了一个需采用字符串排序的题目,接下来我将给大家讲一下如何字符串排序。
首先先判断为位数上是否相同,如果不同再比较那一位的数就可以了
#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; }