zoukankan      html  css  js  c++  java
  • (杭电 2054)A==B?(这真是个巨坑)

    A == B ?

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

    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 2
    2 2
    3 3
    4 3
    

    Sample Output

    NO
    YES
    YES
    NO
    

    这题真是一个巨坑

    因为题中没有给出A,B是什么样的数,所以需要考虑的不仅仅是 大数 的问题还要考虑 小数 的问题。

    我一开始没注意到小数点后还有数要去比就直接把小数点换成''结果就WA了好几次(2333);

    代表测试样例

    0.0 0
    YES
    1.222 1
    NO
    

    样例代码

    #include <bits/stdc++.h>
    using namespace std;
    
    char a[100000],b[100000];
    int main()
    {
    	while(~scanf("%s%s",a,b))
    	{
    		int oja=0,ojb=0;
    		int lena=strlen(a);
    		int lenb=strlen(b);
    		for(int i=0; i <= lena-1; i++)
    			if(a[i] == '.')
    				oja=1;
    		for(int i=0; i <= lenb-1; i++)
    			if(b[i] == '.')
    				ojb=1;
    		if(oja == 1)		//下面的可以单独定义一个函数,不过TL不TL就不知道了
    		{
    			while(a[lena-1] == '0')
    			{
    				a[lena-1]='';
    				lena--;
    			}
    			if(a[lena-1] == '.')
    				a[lena-1] = '';
    		}
    		if(ojb == 1)
    		{
    			while(b[lenb-1] == '0')
    			{
    				b[lenb-1]='';
    				lenb--;
    			}
    			if(b[lenb-1] == '.')
    				b[lenb-1] = '';
    		}
    		if(strcmp(a,b) == 0)
    			cout << "YES" << endl;
    		else
    			cout << "NO" << endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    Python基础
    SQL脚本
    PDF技术之-jasperreports的使用
    redis缓存和mysql数据库如何保证数据一致性
    理解MySQL的乐观锁,悲观锁与MVCC
    intellj idea创建maven项目一直处于加载的解决问题
    Linux目录详解,软件应该安装到哪个目录
    总结
    总结
    总结
  • 原文地址:https://www.cnblogs.com/cafu-chino/p/10160318.html
Copyright © 2011-2022 走看看