무한한 빛을 발산하는 것은 인간의 마음이고, 무한한 어둠을 창조하는 것은 인간의 마음이기도합니다. 빛과 어둠이 얽혀 싸우고, 우리가 향수를 불러 일으키고 무력한 세상입니다.
앞뒤로 쓸 때 동일한 숫자를 Palindromic Number라고 합니다. 예를 들어, 1234321은 회문 번호입니다. 모든 한 자리 숫자는 회문 숫자입니다.
비 회문 번호는 일련의 작업을 통해 회문 번호와 쌍을 이룰 수 있습니다. 먼저, 비 회문 번호가 반전되고 결과가 원래 번호에 추가됩니다. 결과가 회문 번호가 아니면 회문 번호를 제공 할 때까지 반복됩니다. 예를 들어 67에서 시작하면 67 + 76 = 143 및 143 + 341 = 484의 두 단계로 회문 번호를 얻을 수 있습니다.
양의 정수 N이 주어지면 쌍을 이루는 회문 번호와 그것을 찾기 위해 취한 단계 수를 찾아야합니다.
입력 사양 :
각 입력 파일에는 하나의 테스트 케이스가 있습니다. 각 케이스는 두 개의 양수 N과 K로 구성되며, 여기서 N (≤10 10)은 초기 숫자이고 K (≤100)는 최대 단계 수입니다. 숫자는 공백으로 구분됩니다.
출력 사양 :
각 테스트 케이스에 대해 각 줄에 하나씩 두 개의 숫자를 출력합니다. 첫 번째 숫자는 N의 쌍을 이루는 회문 번호이고 두 번째 숫자는 회문 번호를 찾기 위해 취한 단계 수입니다. K 단계 후에 회문 번호를 찾을 수 없으면 K 단계에서 얻은 숫자를 대신 출력하십시오.
샘플 입력 1 :
67 3
샘플 출력 1 :
484
2
샘플 입력 2 :
69 3
샘플 출력 2 :
1353
3
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include<climits>//INT_MAX
//#include<bits/stdc++.h>
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
#define PI 3.1415926
typedef long long ll;
using namespace std;
int const mod=1e9+7;
const int maxn=2e3+10;
string s;
int k,ct;
void add(string t)
{
int cd=s.length(),jw=0;
for(int i=0;i<cd;i++)
{
s[i]=s[i]+t[i]+jw-'0';
jw=0;
if(s[i]>'9')
{
s[i]=s[i]-10;
jw=1;
}
}
if(jw)
s+='1';
reverse(s.begin(),s.end());
}
bool pd(string s)
{
string ls=s;
reverse(ls.begin(),ls.end());
if(ls==s)
return true;
else
return false;
}
int main()
{
cin>>s>>k;
while(!pd(s)&&ct<k)
{
ct++;
string t=s;
reverse(t.begin(),t.end());
add(t);
}
if(ct==0)
{
cout<<s<<endl;
cout<<0<<endl;
}
else{
cout<<s<<endl;
cout<<ct<<endl;
}
return 0;
}