C - L1(大数比较)

来源:互联网 发布:淘宝网.女士运动鞋. 编辑:程序博客网 时间:2024/05/16 17:39
C - L1
Crawling in process...Crawling failedTime Limit:1000MS    Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
SubmitStatus Practice HDU 2054

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
#include <iostream>#include <cstdio>#include <set>#include <vector>#include <map>#include <algorithm>#include <cstring>#include <string>#include <cmath>using namespace std;string delef0(string s){    int i = 0;    while (s[i] == '0')    {        s.erase(i, 1);        if (s[i] != '0')        {            break;        }    }    return s;}string delel0(string s){    int k = -1;    for (int i=0; i<s.size(); i++)    {        if (s[i] == '.')        {            k = i;        }    }    if (k != -1)    {        int i = s.size()-1;        while (s[i] == '0')        {            s.erase(i);            i = s.size()-1;            if (s[i] != '0')            {                break;            }        }        if (k == i)        {            s.erase(i);        }    }    return s;}int main(){    string s1, s2;    while (cin >> s1)    {        cin >> s2;        if (s1[0] == '-' && s2[0] == '-')        {            s1.erase(0, 1);            s2.erase(0, 1);        }        if (s1[0] != s2[0])        {            printf("NO\n");        }        else        {            s1 = delef0(s1);            s2 = delef0(s2);            s1 = delel0(s1);            s2 = delel0(s2);            if (s1 == s2)            {                cout << "YES" << endl;            }            else            {                cout << "NO" << endl;            }        }    }    return 0;}

第一次用string,豪爽~

0 0
原创粉丝点击