#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
int pp[15];
bool flag[15];
char ans[15];
int n,m;
char al(int x){
int cnt=0;
int i=0;
for(i=0;i<n;i++){
if(flag[i]&&cnt==x)
break;
if(flag[i])
cnt++;
}
flag[i]=false;
return i+65;
}
int main(){
pp[0]=1;
pp[1]=1;
for(int i=2;i<=12;i++)
pp[i]=pp[i-1]*i;
while(true){
scanf("%d %d",&n,&m);
if(n==0&&m==0)
break;
m--;
m%=pp[n];
for(int i=0;i<15;i++)
flag[i]=true;
for(int i=0;i<n;i++){
int mm=m/pp[n-1-i];
m%=pp[n-1-i];
ans[i]=al(mm);
}
ans[n]='\0';
for(int i=0;i<n-1;i++)
printf("%c ",ans[i]);
printf("%c\n",ans[n-1]);
}
}
2015年1月28日 星期三
TIOJ 1048 D.亞洲經濟合作會議
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言