問題の説明は、
AがBに等しい場合に二つの数AとBを与える、あなたが「YES」印刷する必要があります、または印刷「NO」。
入力
各テストケースは、2つの数AおよびBが含まれてい
出力
それぞれのケースについては、AがBに等しい場合は、「YES」、または印刷「NO」印刷する必要があります。
サンプル入力
1 2
2 2
3 3
4 3
サンプル出力
NO
YES
YES
NOません
正しいコード
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main(){
char a[100000],b[100000];
while(cin>>a>>b){
int Y_a=0,Y_b=0;
for(int i=0;i<strlen(a);i++)
if(a[i]=='.'){
Y_a=1;
break;
}
for(int i=0;i<strlen(b);i++)
if(b[i]=='.'){
Y_b=1;
break;
}
if(Y_a){
for(int i=strlen(a)-1;i>=0;i--){
if(a[i]=='0'){
a[i]=0;
}
else if(a[i]=='.'){
a[i]=0;
break;
}
else break;
}
}
// if(Y_a) {
// cout<<"!!!"<<a<<' '<<a[1]<<endl;
// } if(Y_b){
for(int i=strlen(b)-1;i>=0;i--)
if(b[i]=='0'){
b[i]=0;
}
else if(b[i]=='.'){
b[i]=0;
break;
}
else break;
strcmp(a,b)?puts("NO"):puts("YES");
}
}
問題の意味を理解し
、問題を解決するときに、この5つは、それが間違って見つけるまでその質問が潜在的な問題だけでなく、偉大な浮動小数点データとしてあると0.111000の問題を解決していないサインです。最初は、そのためかどうかを決定しなければなりません0小数点以下の桁数と小数点の後に過剰分を除去します。