ccsu 1435 A和B
发布时间:2020-12-14 04:05:46 所属栏目:大数据 来源:网络整理
导读:就是比较两个大数是否相等 ,要注意前导0,后置0,正负号,小数点。 #includeiostream#includecstring#includecstdio#includealgorithm#includevector#includecstdlibusing namespace std;int main(){ char a[100000],b[100000]; int flag1,flag2,tmp,tmp1,t
就是比较两个大数是否相等 ,要注意前导0,后置0,正负号,小数点。
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<vector> #include<cstdlib> using namespace std; int main() { char a[100000],b[100000]; int flag1,flag2,tmp,tmp1,tmp3,tmp4,mm; bool tmp2; bool s1,s2,s3,s4; while(~scanf("%s%s",a,b)) { tmp2=false; s1=s2=s3=s4=false; mm=0; tmp=strlen(a); tmp1=strlen(b); for(int i=0;i<tmp;i++) { if(a[0]=='-') s1=true; if(!mm&&a[i]!='0'&&a[i]!='-'&&a[i]!='+') { flag1 = i; mm=1; } if(a[i] == '.') s3=true; if(i == tmp-1&&!mm) flag1=i; } mm=0; for(int i=0;i<tmp1;i++) { if(b[0]== '-') s2=true; if(!mm&&b[i]!='0'&&b[i]!='-'&&b[i]!='+') { flag2 = i; mm=1; } if(b[i] == '.') s4=true; if(i == tmp1-1&&!mm) flag2=i; } if(s3) { for(int i=tmp-1;i>=0;i--) { if(a[i] != '0'&&a[i]!='.') {tmp3=i;break;} } } if(s4) { for(int i=tmp1-1;i>=0;i--) { if(b[i] != '0'&&b[i]!='.') {tmp4=i;break;} } } if((s1&&s2)||(!s1&&!s2)) { if(s3) tmp=tmp3+1; if(s4) tmp1=tmp4+1; while(flag1<tmp) { if(a[flag1] != b[flag2]) break; if(a[flag1] == b[flag2]) { flag1++,flag2++; } if(flag1 >= tmp&&flag2>=tmp1) {tmp2=true;break;} } } else if((!s1&&s2)||(!s2&&s1)) { if(a[flag1]=='0'&&b[flag2] == '0') tmp2 =true; } if(tmp2) printf("Yesn"); else printf("Non"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |