1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| #include<stdio.h>
#include<string.h>
int main() {
char A[200000],B[200000],M[200000];
int i,n,k,x;
memset(B,'\0',sizeof(A));
memset(B,'\0',sizeof(B));
while(scanf("%s %s",&A,&B)!=EOF) {
for(n=0; n<strlen(A); n++) {
if(A[n]!='0') {
break;
}
}
for(i=n,k=0; i<200000; i++,k++)
M[k]=A[i];
memset(A,'\0',sizeof(A));
for(i=0,n=strlen(M); i<strlen(M); i++) {
if(M[i]=='.') {
for(; n>0; n--) {
if(M[n-1]!='0'&&M[n-1]!='.') {
break;
}
if(M[n-1]=='.') {
M[n-1]='\0';
break;
}
}
}
}
for(i=0,k=0; i<n; i++,k++)
A[k]=M[i];
memset(M,'\0',sizeof(M));
for(n=0; n<strlen(B); n++) {
if(B[n]!='0') {
break;
}
}
for(i=n,k=0; i<200000; i++,k++)
M[k]=B[i];
memset(B,'\0',sizeof(B));
for(i=0,n=strlen(M); i<strlen(M); i++) {
if(M[i]=='.') {
for(; n>0; n--) {
if(M[n-1]!='0'&&M[n-1]!='.') {
break;
}
if(M[n-1]=='.') {
M[n-1]='\0';
break;
}
}
}
}
for(i=0,k=0; i<n; i++,k++)
B[k]=M[i];
if(strcmp(A,B))
printf("NO\n");
else {
printf("YES\n");
}
}
return 0;
}
|