Solution:
/******************************************************************
*** Author : Shipu Ahamed (Psycho Timekiller) ***
*** E-mail : shipuahamed01@gmail.com ***
*** University : BUBT,Dept. of CSE ***
*** Team : BUBT_HIDDEN ***
*** Facebook : http://www.facebook.com/DeesheharaShipu ***
******************************************************************/
#include
using namespace std;
typedef vector vi;
#define ll long long
#define pb push_back
////============ CONSTANT ===============////
#define mx 30
////====================================////
ll pal[mx];
void palindrome()
{
pal[1]=9;
pal[2]=9;
ll range=18;
for(int len=3;len2000000000)
break;
}
}
int main()
{
palindrome();
ll n;
while(scanf("%lld",&n))
{
if(n==0) break;
vi v;
for(int i=1;i<=mx;i++)
{
if(n<=pal[i])
{
int m;
if(i%2)
m=(i+1)/2;
else
m=i/2;
for(int j=0;j=0;l--)
v.pb(v[l]);
break;
}
else
n=n-pal[i];
}
int s=v.size();
for(int i=0;i
https://github.com/Shipu/OnlineJudgeProblemSolutionWithCPlusPlus/tree/master/uva/12050/12050.cpp