nj123
BAN USER#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int is_num(char c)
{
if(c>='0' && c<='9')
return (c-'0');
return -1;
}
int get_int(char arr[],int i,int j)
{
int x,y=0;
char ii[10];
if(i==j)
return (arr[i]-'0');
else
{
for(x=i;x<=j;x++){
ii[y]=arr[x];
y++;}
}
int n=atoi(ii);
return n;
}
char get_kth(char arr[],char res[],int k)
{
int i=0,j,b=0;
int cl=0,pl;
while(i<strlen(arr))
{
// k=0;
pl=cl;
if(is_num(arr[i])==-1)
{
res[b++]=arr[i];
++i;
++cl;
}
else
{
int x,y;
j=i;
while(is_num(arr[j+1])!=-1)
{
j++;
}
int n=get_int(arr,i,j);
cl=cl*n;
for(x=0;x<n-1;x++)
{
for(y=0;y<pl;y++)
{
res[b++]=res[y];
}
}
i=j+1;
}
}
return res[k-1];
}
int main()
{
char arr[1536];
long long int k;
char res[1536];
while(scanf("%s %d",arr,&k)>0)
printf("%c",get_kth(arr,res,k));
return 0;
}
- nj123 September 28, 2014