NYOJ143逆康托展开
来源:互联网 发布:java批量上传图片 编辑:程序博客网 时间:2024/06/14 07:49
康托展开式: x = an * (n - 1)! + an - 1 * (n - 2)! +....+ a2 * 1! + a1 * 0!
其中 n为数据集中元素的个数(没有重复元素), ai为 元素在数据集中是第 ai大元素, 0<= ai <= n - 1
有个很好的例子,博客地址http://blog.csdn.net/zhongkeli/article/details/6966805
我的代码:
#include <cstdio>#include <cstring>//康托展开// x = an * (n - 1)! + an - 1 * (n - 2)! +...+ a2 * 1! + a1 * 0!int f[15];void init(){ f[0] = 1; for(int i = 1;i <= 11;++i) f[i] = f[i - 1] * i;}int v[15];char s[] = "abcdefghijkl";int main(){ init(); int n; scanf("%d",&n); while(n--) { memset(v,0,sizeof(v)); int m; scanf("%d",&m); m--; int t = 11; for(int i = 12;i >= 1;--i) { int cnt = m / f[t]; m = m % f[t]; int cnt_ = 0; for(int j = 0;j < 12;++j) { if(!v[j]) { if(cnt == cnt_) { v[j] = 1; printf("%c",s[j]); break; } cnt_++; } } t--; } printf("\n"); } return 0;}
0 0
- NYOJ143逆康托展开
- NYOJ143 第几是谁? 【逆康托展开】
- nyoj143 第几是谁(康拓逆展开)
- 康托展开之我排第几个与裸康托逆展开之nyoj143
- NYOj143 第几是谁
- NYOJ143----第几是谁?
- 逆康托展开
- 逆康托展开
- 康托展开/逆康托展开
- 康托展开&逆康托展开
- NYOJ143 康托的应用
- 康托展开与逆康托展开
- 康托展开和逆康托展开
- 康托展开与逆康托展开
- 康托展开和逆康托展开
- 康托展开和逆康托展开
- 康托展开和逆康托展开
- 康托展开与逆康托展开
- bzoj1202 狡猾的商人[并查集]
- 资深BAT工程师推荐 Android 大牛大神的 blog博客
- Spark 1.6.2 单机版安装配置
- COBOL data type buffer content
- win8/7精简版px4驱动安装失败
- NYOJ143逆康托展开
- HttpServlet上传文件
- MyBatis中的sqlsession和Mapper
- HDU 5918 Sequence I (2016-ccpc-长春)
- javeScript 单个(多个)文件的上传与下载
- Java8 - CopyOnWriteArrayList源码
- [Linux] 使用Wget安装JDK1.8
- COBOL parsing command-line options
- 栈和队列初学总结