NYOJ 143 第几是谁?
2014-05-19 08:16
127 查看
第几是谁?
时间限制:3000 ms | 内存限制:65535 KB难度:3
描述现在有"abcdefghijkl”12个字符,将其按字典序排列,如果给出任意一种排列,我们能说出这个排列在所有的排列中是第几小的。但是现在我们给出它是第几小,需要你求出它所代表的序列.
输入第一行有一个整数n(0<n<=10000);
随后有n行,每行是一个整数m,它代表着序列的第几小;
输出输出一个序列,占一行,代表着第m小的序列。
样例输入
3 1 302715242 260726926
样例输出
abcdefghijkl hgebkflacdji gfkedhjblcia
AC码:
#include<stdio.h> int f[12]={1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800}; int main() { int n=0,m=0,t=0; int i,j; int num[12]; scanf("%d",&n); while(n--) { scanf("%d",&m); int v[12]={0,0,0,0,0,0,0,0,0,0,0,0}; m--; for(i=0;i<12;i++) { t=m/f[11-i]; for(j=0;j<12;j++) { if(!v[j]) { if(t==0) break; t --; } } num[i]=j; v[j]=1; m%=f[11- i]; } for(i=0;i<12;i++) printf("%c",num[i]+97); printf("\n"); } return 0; }
相关文章推荐
- 【ACM】nyoj_143_第几是谁_201308071558
- NYOJ - 143 第几是谁? & NYOJ - 149 我排第几个
- NYOJ 139 我排第几个 和 NYOJ 143 第几是谁? 【康拓展开和逆康拓展开】
- NYOJ 题目143 第几是谁?(康拓展开)
- nyoj-143-第几是谁
- nyoj 143 第几是谁?
- NYOJ-143 第几是谁?
- nyoj 143 第几是谁?
- nyoj 143 第几是谁?
- nyoj 139——我排第几个|| nyoj 143——第几是谁? 康托展开与逆康托展开
- NYOj143 第几是谁
- NYOJ143 第几是谁? 【逆康托展开】
- NYOJ143----第几是谁?
- nyoj 143 第几是谁(康拓展开的逆运算)
- nyoj143 第几是谁(康拓逆展开)
- NYOJ143逆康托展开
- nyoj 139 我排第几 143 第几是谁
- 第几是谁(NYOJ)
- nyist 139 我排第几个&&143 第几是谁(康托展开和逆康托展开)
- nyoj139我排第几个&nyoj第几是谁?——康托展开及康托逆展开