PAT Advanced 1023 Have Fun with Numbers
阿新 • • 發佈:2019-04-06
color map class pat bsp auto clu cin code
#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