题目链接:第几是谁?
跟nyoj 139类似,只不过这道题目是逆康拓展开的裸题罢了
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,m,f[13];
char ss[12];
void reverse_cantor(ll n,ll k){
ll i,j,t,vis[13] = {0};
char s[13];
k--;
for(i = 0;i < n;i++){
t = k/f[n-i-1];
for(j = 0;j < n;j++){
if(!vis[j]){
if(t == 0) break;
t--;
}
}
s[i] = j+'a';
vis[j] = 1;
k %= f[n-i-1];
cout<<s[i];
}
cout<<endl;
}
int main(){
f[0] = 1;
for(int i = 1;i <= 12;i++)
f[i] = f[i-1]*i;
cin>>t;
while(t--){
cin>>m;
reverse_cantor(12,m);
}
return 0;
}