第几是谁?
来源:互联网 发布:美图秀秀批处理mac版 编辑:程序博客网 时间:2024/06/11 22:02
第几是谁?
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在有"abcdefghijkl”12个字符,将其按字典序排列,如果给出任意一种排列,我们能说出这个排列在所有的排列中是第几小的。但是现在我们给出它是第几小,需要你求出它所代表的序列.
- 输入
- 第一行有一个整数n(0<n<=10000);
随后有n行,每行是一个整数m,它代表着序列的第几小; - 输出
输出一个序列,占一行,代表着第m小的序列。
直接上康拓逆展开式
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long f[12]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800};char s[13]={"abcdefghijkl"},str[13];void A(int sum){ sum--; int i,j,vis[12]; memset(vis,0,sizeof(vis)); for(i=0;i<12;i++) { long long a=sum/f[12-i-1]; for(j=0;j<12;j++) { if(!vis[j]) { if(a==0) break; a--; } } str[i]=s[j]; vis[j]=1; sum=sum%f[12-i-1]; }}int main(){ long long n,m; scanf("%lld",&n); while(n--) { scanf("%lld",&m); A(m); printf("%s\n",str); } return 0;}
- 样例输入
31302715242260726926
- 样例输出
abcdefghijklhgebkflacdjigfkedhjblcia
0 0
- 第几是谁?
- 第几是谁
- 第几是谁?
- nyoj-143-第几是谁
- 第几是谁(NYOJ)
- nyoj 143 第几是谁?
- NYOJ 143 第几是谁?
- NYOj143 第几是谁
- NYOJ143----第几是谁?
- NY143 第几是谁?
- nyoj 143 第几是谁?
- 康托展开---第几是谁
- NYOJ143 第几是谁? 【逆康托展开】
- nyoj 139 我排第几 143 第几是谁
- 康托展开及其逆运算--我是第几个,第几是谁
- NYOJ - 143 第几是谁? & NYOJ - 149 我排第几个
- 【康拓拓展】NYOJ-143.第几是谁
- nyoj143 第几是谁(康拓逆展开)
- (原创)js提交文件,js上传文件,纯js解决无刷新文件上传,不使用form提交文件,并获取返回值(路径url)
- SSL 2294——打包
- zzuli 2129 DOBRI
- C#之foreach循环
- [DP]庆功会
- 第几是谁?
- PHPER必读电子书推荐-《PHP扩展开发及内核应用》
- 嵌入式通讯数据转化及实现
- 第三六将项目五 有多少符号
- 测试到底是测试什么?
- 线程间同步机制(一)
- struts2学习总结
- 图形
- POJ 1013 Counterfeit Dollar 笔记 模拟