思路就是打擂台,用字符串读入,如果长度大于ans就替换ans,如果长度一样就从高数位比起,要是高数位大就替换掉,各位大犇们,到底那里错了呀
#include <bits/stdc++.h>
using namespace std;
#define s(x) int(strlen(x))
char m[100001], ans[100001], num;
int n;
int main()
{
scanf("%d", &n);
for(int x=1;x<=n;x++){
scanf("%s",m);
if(s(m)>s(ans)){
num=x;
for(int i=0;i<s(m);i++){
ans[i]=m[i];
}
}else if(s(m)==s(ans)){
for(int j=0;j<s(m);j++){
if(m[j]>ans[j]){
for(int i=0;i<s(m);i++){
ans[i]=m[i];
}
num=x;
break;
}
}
}
}
printf("%d\n%s", num, ans);
return 0;
}