题解:P1781 宇宙总统
使用高精度轻松过关: 定义一个函数,比较两个字符串的最大值。 然后定义big保存最大值并实时更新,最后查找最大值的位置即可。
#include<bits/stdc++.h>
using namespace std;
string max(string a,string b){
//定义比较两个字符串的最大值
if(a.size()<b.size()){//判断长度
return b;
}
if(a.size()>b.size()){//判断长度
return a;
}
if(a.size()==b.size()){//长度相等,直接比较
if(a<b){
return b;
}
if(a>b||a==b){
return a;
}
}
}
int main(){
string a[101];
int n,p;
cin>>n;
string big="0";//定义最大值
for(int i=1;i<=n;i++){
cin>>a[i];
big=max(big,a[i]);//更新最大值
}
for(int i=1;i<=n;i++){//判断位置
if(a[i]==big){
p=i;
}
}
cout<<p<<endl<<big;
return 0;
}