输入两个大整数,
a,b,请输出他们谁大谁小。
如果
a>b,那么输出 first
如果
b>a,那么输出 second
如果
a=b,那么输出 same
对于 100% 的数据,
-10^100<=a,b<=10^100
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string a,b;
cin>>a>>b;
int f1=0,f2=0;
if(a[0]=='-') f1=1;
if(b[0]=='-') f2=1;
if(f1==1&&f2==0){
cout<<"second";
return 0;
}
else if(f1==0&&f2==1){
cout<<"first";
return 0;
}
else if(f1==0&&f2==0){
if(a.size()!=b.size()){
if(max(a.size(),b.size())==a.size())
cout<<"first";
else
cout<<"second";
return 0;
}else{
for(int i=0;i<a.size();i++){
if(a[i]>b[i]){
cout<<"second";
return 0;
}if(a[i]<b[i]){
cout<<"first";
return 0;
}
}
}
}else if(f1==1&&f2==1){
if(a.size()!=b.size()){
if(max(a.size(),b.size())==a.size())
cout<<"second";
else
cout<<"first";
return 0;
}else{
for(int i=0;i<a.size();i++){
if(a[i]>b[i]){
cout<<"second";
return 0;
}if(a[i]<b[i]){
cout<<"first";
return 0;
}
}
}
}
cout<<"same";
return 0;
}
我哪里错了?
