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 阅读(160) 评论(0) 收藏 举报
浙公网安备 33010602011771号