hdu 2054

来源:互联网 发布:中日经济数据 编辑:程序博客网 时间:2024/06/13 15:50

A == B ?

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 102921    Accepted Submission(s): 16365


Problem Description
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
 

Input
each test case contains two numbers A and B.
 

Output
for each case, if A is equal to B, you should print "YES", or print "NO".
 

Sample Input
1 22 23 34 3
 

Sample Output
NOYESYESNO


/*大数判断A==B(一开始还以为真的是最简单的A==B...)重点:由于是字符串,所以需要判断小数点后多余的尾数0例如字符串 1.00和1 在数值上是相等的,但在字符上表现却不相等所以需要处理1.00后多余的.00,才能判断相等。思路:由于数值上可能有多余的尾数0,所以对其裁剪便可。步骤1:首先判断是否为浮点数(判断是否有'.'即可)。不是便返回原字符串,无需做任何改动。步骤2:从尾部判断是否有多余的字符0,有便依次递减记录的下标,否则结束。步骤3:返回裁剪的字符串。 */import java.util.Scanner;public class Main{public static String change_back(String str){// 步骤1:int index=str.indexOf('.');if(index==-1)return str;// 步骤2:int i;for(i=str.length()-1;i>index;--i)if(str.charAt(i)-'0'>0)break;// 步骤3:return index==i?str.substring(0,i):str.substring(0,i+1);}public static void main(String[] args) {Scanner cin = new Scanner(System.in);while(cin.hasNext()){String a=cin.next();String b=cin.next();a=change_back(a);b=change_back(b);if(a.equals(b))System.out.println("YES");elseSystem.out.println("NO");}cin.close();}}





1 0