宇宙总统

题目背景

宇宙总统竞选

题目描述

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

输入输出格式

输入格式:

president.in

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

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

输出格式:

president.out

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

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

输入输出样例

输入样例#1:
5
98765
12365
87954
1022356
985678
输出样例#1:
4
1022356





说明

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

n<=20


var

 s,max:string;//由于票数会大很多,所以用字符串;
 n,j,i,ans:longint;
procedure win;//比大小
begin
 if length(s)>length(max) then begin//长度小说明数值小,所以直接出
                                ans:=i;
                                max:=s;
                               exit;

                             end;

if length(s)>length(max) then  begin//长度长说明数值大,所以直接出
                                                 ans:=i;
                                                 max:=s;

                                                 exit;
                                               end;

 if (ord(max[j])-48<ord(s[j])-48)
     and(length(s)=length(max)) then//在长度相等的情况下,相对的一位比较
  begin
   ans:=i;
   max:=s;
  end;

end;


begin
 readln(n);
 max:='';//清空最大,否则可能会打乱结果
 for i:=1 to n do
  begin
   readln(s);
   for j:=length(s) downto 1 do win;//从最后一位开始比较,调动win过程;
  end;
 writeln(ans);
 write(max);
end.
### 关于"C++ 宇宙总统"问题的实现 以下是针对“宇宙总统”问题的一个完整的C++代码实现,该程序能够处理输入数据并找到满足条件的结果。 #### 题目描述 给定一组字符串形式的数据,找出其中长度最长且字典序最大的字符串及其索引位置。如果存在多个相同结果,则返回第一个符合条件的位置。 #### 代码实现 ```cpp #include <iostream> #include <string> using namespace std; int main() { int n, maxLength = -1; string inputStr, longestStr = ""; cin >> n; // 输入字符串数量 for (int i = 1; i <= n; ++i) { cin >> inputStr; // 输入每一个字符串 if ((inputStr.length() > longestStr.length()) || (inputStr.length() == longestStr.length() && inputStr > longestStr)) { longestStr = inputStr; // 更新最长字符串 maxLength = i; // 记录当前索引 } } cout << maxLength << endl; // 输出索引 cout << longestStr << endl; // 输出对应的字符串 return 0; } ``` 此代码实现了题目需求的功能,并通过比较字符串长度以及字典顺序来确定最终结果[^3]。 #### 解析 - **变量初始化**: `maxLength` 初始化为 `-1` 表示尚未发现有效值;`longestStr` 初始为空串。 - **循环读取**: 使用 `for` 循环逐一读入字符串,并判断其是否应成为新的最长字符串。 - **更新逻辑**: 当前字符串要么更长,要么同样长度但字典序更大时才更新记录。 - **输出结果**: 最终打印出索引和对应字符串。 以上方法可以高效解决此类问题,时间复杂度主要取决于输入规模 \(O(n)\),空间消耗较小[^3]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值