A==?B(A,B超级大)
#include <iostream>
#include <string.h>
#include <cstring>
using namespace std;
struct zhennan
{
    char str[100000];
	char str0[100000];
    void cc()
    {
	     int n,i,k1,k2,f,v;
	     n=strlen(str);
	     f=0;
	     for(i=0,k1=0;i<n;i++)
		{
			 if(str[i]=='0'&&f==0)   {continue;}
			 if(str[i]!='0')    {f++;}  
		     str0[k1]=str[i];	     
			 k1++;
		}
 
		str0[k1]='\0';
		 v=0;
		 for(i=0;i<k1;i++)	
		    {
		    	if(str0[i]!='.')  {v=1;}
				else {v=0;break;} 			     
		    }
		    if(v==0)
		     { 
		         f=0;
                 for(i=k1-1,k2=0;i>=0;i--)
		             {
			             if(str0[i]=='0'&&f==0)   {continue;}
			             if(str0[i]!='0')    {f++;}  
		                 str[k2]=str0[i];
			             k2++;
		             }	
					 str[k2]='\0';
					 if(str[0]=='.')
					     {
					     	for(i=0;i<k2-1;i++)
					     	   str[i]=str[i+1];     
					     } 	
					 str[k2-1]='\0';          
		     }
			 if(v==1) 
			    {
				     for(i=k1-1,k2=0;i>=0;i--,k2++)
			    	     str[k2]=str0[i];
				     str[k2]='\0';
				}
    }
};
zhennan a,b;
int main()
{
	long long i,j,m;
	while(cin>>a.str>>b.str)
	{
		if(a.str[0]=='-') 
		{
			m=strlen(a.str);
			for(i=0,j=1;j<m;i++,j++)
			a.str[i]=a.str[j];
			a.str[j-1]='\0';
			a.cc();
			if(strlen(a.str)==0) {a.str[0]='0';a.str[1]='\0';}
			else { 
			m=strlen(a.str);
			a.str[m]='-';
			a.str[m+1]='\0';
			}
		 } 
		 else a.cc();
		 if(a.str[0]=='\0') {a.str[0]='0';a.str[1]='\0';}
		 if(b.str[0]=='-') 
		{
			m=strlen(b.str);
			for(i=0,j=1;j<m;i++,j++)
			b.str[i]=b.str[j];
			b.str[j-1]='\0';
			b.cc();
			if(strlen(b.str)==0) {b.str[0]='0';b.str[1]='\0';} 
			else 
			{
			m=strlen(b.str);
			b.str[m]='-';
			b.str[m+1]='\0';	
		    }
		 }
		else b.cc();
		if(b.str[0]=='\0') {b.str[0]='0';b.str[1]='\0';} 
		if(strcmp(a.str,b.str)==0) cout<<"YES"<<endl;
		else cout<<"NO"<<endl;		
	}
return 0;
 } 
                    
                
                
            
        
浙公网安备 33010602011771号