题目链接
思路
由于数据很大,所以采用字符串存取。用sort来跑出最大值
AC
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct Node{
int loc;
char s[105];
}node[25];
bool cmp(Node a,Node b){
int len1=strlen(a.s);
int len2=strlen(b.s);
if(len1>len2) return true;
else if(len1<len2) return false;
else{
int v=strcmp(a.s,b.s);
if(v>=0) return true;
else return false;
}
}
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
node[i].loc=i;
scanf("%s",node[i].s);
}
sort(node+1,node+n+1,cmp);
printf("%d\n%s\n",node[1].loc,node[1].s);
return 0;
}