2019-08-01
题目背景
宇宙总统竞选
题目描述
地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。
输入格式
president.in
第一行为一个整数n,代表竞选总统的人数。
接下来有n行,分别为第一个候选人到第n个候选人的票数。
输出格式
president.out
共两行,第一行是一个整数m,为当上总统的人的号数。
第二行是当上总统的人的选票。
输入输出样例
输入
5
98765
12365
87954
1022356
985678
输出
4
1022356
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
struct node
{
int n;
string p;
int lenth;
}a[25];
bool cmp(node a,node b)
{
if(a.lenth > b.lenth)
return 1; //不用交换顺序
if(a.lenth == b.lenth && a.p>b.p)
return 1; //不用交换顺序
else
return 0; //其他情况交换顺序
}
int main()
{
int num;
cin >> num;
for(int i=1; i<=num; i++)
{
cin >> a[i].p;
a[i].lenth = a[i].p.size();
a[i].n = i;
}
sort(a+1,a+1+num,cmp);
cout << a[1].n << endl << a[1].p << endl;
return 0;
}