首页 > 其他 > 详细

PAT Advanced 1023 Have Fun with Numbers

时间:2019-04-06 18:40:53      阅读:93      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include <string>
#include <map>

using namespace std;

void prob1023()
{
    string num;
    cin >> num;
    string num0 = num;
    int flag = 0;
    for (auto iter = num.rbegin(); iter != num.rend(); ++iter)
    {
        int r = *iter - 0‘ + *iter - 0‘ + flag;
        if (r > 9)
        {
            flag = 1;
            r = r - 10;
        }
        else
        {
            flag = 0;
        }
        *iter = r + 0;
    }
    if (flag == 1)
    {
        num.insert(num.begin(), 1);
    }
    map<char, int> record0;
    map<char, int> record;
    for (auto iter = num0.begin(); iter != num0.end(); ++iter)
    {
        if (record0.find(*iter) == record0.end())
        {
            record0[*iter] = 1;
        }
        else
        {
            ++record0[*iter];
        }
    }
    for (auto iter = num.begin(); iter != num.end(); ++iter)
    {
        if (record.find(*iter) == record.end())
        {
            record[*iter] = 1;
        }
        else
        {
            ++record[*iter];
        }
    }
    if (record0 == record)
    {
        cout << "Yes\n";
    }
    else
    {
        cout << "No\n";
    }
    cout << num;
}

 

PAT Advanced 1023 Have Fun with Numbers

原文:https://www.cnblogs.com/paralysis/p/10662216.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!