【排序】宇宙总统

编程入门 行业动态 更新时间:2024-10-25 04:20:26

【排序】宇宙<a href=https://www.elefans.com/category/jswz/34/1765984.html style=总统"/>

【排序】宇宙总统

【排序】宇宙总统

题目

题目描述

地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 nn 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。

输入格式

第一行为一个整数 nn,代表竞选总统的人数。

接下来有 nn 行,分别为第一个候选人到第 nn 个候选人的票数。

输出格式

共两行,第一行是一个整数 mm,为当上总统的人的号数。

第二行是当上总统的人的选票。

输入输出样例

输入 #1 复制
5
98765
12365
87954
1022356
985678
输出 #1 复制
4
1022356

说明/提示

票数可能会很大,可能会到 100 位数字。

1≤n≤20

分析

这是个基础题,提示说 数据达到100位数字,
所以我是先按字符串形式读入,然后判断字符串长度,如果只有一个最长,那么直接就是它了。
如果有几个长度相等,那就在判断字符串长度的基本上,再比较字符串首位的大小,大的就是它。
如果首位相等,就继续比第二位。。。第三位。。。。。。。。 ok

代码

#include<iostream>
using namespace std;
#include<algorithm>int n;
struct data{int m;string s;
}d[25];//string a[25];bool cmp(data a,data b){if(a.s.size()!=b.s.size())return a.s.size() >b.s.size();else{int k=0;while(k<a.s.size()){if(a.s[k] != b.s[k]){return a.s[k] > b.s[k];}k++;}}
}int main(){cin>>n;for(int i=0;i<n;i++){cin>>d[i].s;d[i].m = i+1;}sort(d,d+n,cmp);cout<<d[0].m<<endl;cout<<d[0].s<<endl;return 0;
}

更多推荐

【排序】宇宙总统

本文发布于:2024-02-06 03:28:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746225.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:总统   宇宙

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!