P1781 宇宙总统(运算符重载)
//https://www.luogu.com.cn/problem/P1781?contestId=96630
#include<bits/stdc++.h>
using namespace std;
int n;
const int N=30;
//用于保存各个人顺序以及字符串
struct Node
{
string x;//保存选票数量
int num;//序号
friend bool operator < (const Node &n1 ,const Node &n2)
{
//如果两个字符串长度不相同则把长的
//发生交换的条件返回真,即前面的字符串更长则交换
if(n1.x.size() != n2.x.size())
{
return n1.x.size()<n2.x.size();
}
else
{
//连个字符串长度相同则按照字典序对字符串第一个字母进行排序
//即开头为0放在前开头为9放最后
return n1.x<n2.x;
}
}
};
Node a[N];
int main()
{
scanf("%d",&n);
int seq=1;
for(int i=0;i<n;i++)
{
cin>>a[i].x;
a[i].num=seq++;
}
sort(a,a+n);
cout<<a[n-1].num<<endl;
cout<<a[n-1].x<<endl;
}