HD-ACM算法专攻系列——A == B ?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HD-ACM算法专攻系列——A == B ?相关的知识,希望对你有一定的参考价值。

题目描述:

技术分享

源码:

/**/
#include"iostream"
#include"string"
using namespace std;

string Standard(string str)
{
	int start;
	int len = str.length();
	char * p = new char[len + 2];
	start = 0;
	if(str[0] == ‘-‘ || str[0] == ‘+‘)
	{
		p[0] = str[0];
		start = 1;
	}
	else 
	{
		p[0] = ‘+‘;
	}
	for(int i = start; i < len; i++)
	{
		if(str[i] == ‘0‘)
		{
			start++;
		}
		else
		{
			break;
		}
	}
	bool hasDot = false;
	for(int i = start; i < len; i++)
	{
		if(str[i] == ‘.‘)
		{
			hasDot = true;
			break;
		}
	}
	if(hasDot)
	{
		for(int i = len - 1; i >= start; i--)
		{
			if(str[i] == ‘0‘)
			{
				len--;
			}
			else
			{
				break;
			}
		}
	}
	int index = 1;
	if(str[len - 1] == ‘.‘)
	{
		len--;
	}
	for(int i = start; i < len; i++)
	{
		p[index++] = str[i];
	}
	p[index] = ‘\\0‘;
	return string(p);
}

int main()
{
	string a, b;
	while(cin>>a>>b)
	{
		a = Standard(a);
		b = Standard(b);
		if(a == b)
		{
			cout<<"YES"<<endl;
		}
		else
		{
			cout<<"NO"<<endl;
		}
		
	}
    return 0;
}

  

以上是关于HD-ACM算法专攻系列——A == B ?的主要内容,如果未能解决你的问题,请参考以下文章

HD-ACM算法专攻系列(10)——大明A+B

HD-ACM算法专攻系列(13)——How Many Fibs?

HD-ACM算法专攻系列(14)——find your present

HD-ACM算法专攻系列——N!

HD-ACM算法专攻系列(19)——Leftmost Digit

HD-ACM算法专攻系列(17)——考试排名