A==B
#include<stdio.h> #include<string.h> int main( ) { char a[100020],b[100020],c[100020],d[100020]; while(scanf("%s%s",a,b)!=EOF) { int i,j,k=0,m=0,n=0,len1,len2,f1=0,f2=0,f3=0,f4=0; len1=strlen(a); len2=strlen(b); for(i=0;i<len1;i++) { if(f1==0&&a[i]!='0') f1=1; if(f1) c[k++]=a[i]; if(a[i]=='.') f3=1; } c[k]='\0'; for(i=0;i<len2;i++) { if(f2==0&&b[i]!='0') f2=1; if(f2) d[m++]=b[i]; if(b[i]=='.') f4=1; } d[m]='\0'; if(f2==0&&f1==0) { printf("YES\n"); continue; } if(f3) { i=k-1; while(c[i]=='0'||c[i]=='.') { if(c[i]=='.') { i--; break; } else i--; } //printf("%d\n",i); k=i+1; c[k]='\0'; //printf("3333333\n"); } if(f4) { i=m-1; while(d[i]=='0'||d[i]=='.') { if(d[i]=='.') { i--; break; } else i--; } m=i+1; d[m]='\0'; // printf("44444444\n"); } // printf("%s %s \n",c,d); if(strcmp(c,d)==0) printf("YES\n"); else printf("NO\n"); } return 0; }
这道题真的是太YD了。。。我数组不仅要开100000以上,还有还多特殊数据要处理。。
如0001.0000000 1 ,10 100,00001.000 0001
总算AC了。。。
posted on 2011-04-29 22:04 more think, more gains 阅读(155) 评论(0) 编辑 收藏 举报