HDU 2054 A==B?,NYOJ-524-A-B(很有意思)
来源:互联网 发布:理财软件下载 编辑:程序博客网 时间:2024/06/06 04:52
HDU2054
A == B ?
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 50394 Accepted Submission(s): 7791
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
Author
8600 && xhd
Source
校庆杯Warm Up
Recommend
linle
/*
测试数据
0 -0
0 +0
123.123 +00123.12300
100.00 100
.1 0.1
000.000 0
123456789123456789 123456789123456789
1 1
000001000. 1000
+0 -000.000
.0 0
.0 0.
结果全是YES
这些测试数据如果过了基本差不多可以AC了
这都是WA出来的。。。。
*/
NYOJ-524 与其相同,但是nyoj测试数据更严密
//A-B Problem Accepted 29 246MS java 08-29 11:00:42 nyoj524//A == B ? Accepted 2054156MS5512K2276 BJava hdu2054import java.util.Scanner;public class A_subtract_BProblem {//A == B ?static int i,j,k,f,t;private static String AB(String s) {boolean flag=false,fflag=false;String sss=null; int a=0,t=-1,k=-1; if(s.charAt(0)=='+' || s.charAt(0)=='-'){ a=1; s=s.substring(a);//去掉符号位 } if(s.charAt(0)=='.') //第一个就为点的,+"0“ +.00 .999 -.0 s="0"+s; if(s.length()==1){ //0000.9 +.9 0.9 9.0 s=s+".";//长度为1的数,0 1 +0 +1 } int len = s.length(); for(i=0; i<len; i++){ char b=s.charAt(i); if( i!=len-1 && b=='0')//防止000 000.被漏掉 continue; if((i==len-1)&&(s.charAt(i)=='.' || s.charAt(i)=='0')){//0000 0000. 000.000 t=len-2; flag=true;//标记这样结果为0的数,直接给出k值(小数部分不再重复计算) break; } if(b=='.'){//000.123 0.123 .123 t=i-1; break; } t=i;// 找到不为0,不为点的数 000123 00123.break; }//整数部分 // System.out.println(s+" t "+t); for(i=len-1; i>=0; i--){//找点 避免 if(s.charAt(i)=='.'){ fflag=true; break; } } if(fflag){//看是否有小数点,有的话计算,没有,跳过 for(i=len-1; i>=0; i--){//小数部分 if( s.charAt(i)=='0')//去掉后面的0,前提有小数点 continue; // System.out.println("i+ "+i); if(s.charAt(i)=='.') k=i; else k=i+1;//小数点最后面起不为0数 break; } } else k=len; if(flag) k=len-1;// System.out.println("k "+k+" "+fflag);//测试 sss =s.substring(t, k);// System.out.println(s+"=="+sss);return sss; }public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String s1 = sc.next(); String s2 = sc.next(); char a1 = s1.charAt(0); char a2 = s2.charAt(0); String ss1=AB(s1); String ss2=AB(s2); if( (a1!='-' && a2=='-') || (a2!='-' && a1=='-') ){ if(ss1.equals("0") && ss2.equals("0")) System.out.println("YES");//-0.00 0 +0 -0. .0 000 else System.out.println("NO"); } else { if(ss1.equals(ss2)) System.out.println("YES"); else System.out.println("NO"); } }}}
用java的大数做就更简单了:
import java.math.BigDecimal;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input=new Scanner(System.in);while(input.hasNext()){String a=input.next();String b=input.next();a=dei(a);b=dei(b);BigDecimal a1=new BigDecimal(a);BigDecimal b1=new BigDecimal(b);System.out.println(a1.equals(b1)? "YES":"NO");}}private static String dei(String a) {int e=-1;for(int i=1;i<a.length();i++){if(a.charAt(i)=='.'){e=i;break;}}while(e!=-1&&a.endsWith("0")){a=a.substring(0, a.length()-1);}return a;}}
再简单点:
import java.util.*;import java.math.BigDecimal;public class Main{public static void main (String[] args)throws Exception{Scanner in=new Scanner(System.in);BigDecimal a,b; while(in.hasNext()){ a=in.nextBigDecimal(); b=in.nextBigDecimal(); if(a.compareTo(b)==0) System.out.println("YES"); else System.out.println("NO"); }} }
- HDU 2054 A==B?,NYOJ-524-A-B(很有意思)
- NYOJ 524 & HDU 2054 A==B?(模拟)
- A^B = B^A
- A^B = B^A
- A^B = B^A
- A^B=B^A
- hdu-A == B ?
- A == B ? HDU
- NYOJ 524 A-B Problem
- nyoj 524 A-B Problem
- nyoj-524-A-B Problem
- HDU 2054 A == B ?
- HDU 2054 A==B
- hdu acm 2054 A == B ?
- hdu - 2054 - A == B ?
- hdu 2054 A == B ?
- Hdu 2054 - A == B ?
- hdu 2054 A == B ?【JAVA】
- error: No resource identifier found for attribute 'onclick' in package 'android'
- struct 定义函数体 竟然可以!
- 一点一点重学统计学(一)——平均数与方差
- windows环境DLL链接问题之三:C/C++修饰符问题续
- 使用PDFlib生成pdf
- HDU 2054 A==B?,NYOJ-524-A-B(很有意思)
- C++要点摘录(一)C到C++的升级
- #ifndef /#define/#endif
- 极客技术专题【010期】:jQuery初学者入门 - jQuery effects
- java.lang.IllegalStateException: Invalid shuffle port number -1 returned for attempt_1377744323071_0
- myeclipse搭建webservice实例讲解
- 图片双缓存异步加载,把内存处理做到最优
- POJ 3686 最小权匹配
- 新人域名投资五部曲