hdu 1027 字典序全排列
来源:互联网 发布:云平台软件 编辑:程序博客网 时间:2024/04/27 15:59
#include <iostream>using namespace std;int i, j, k, t, o, s, n, m, p[10];int f[10] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320,0};bool u[10];int main(){while (~scanf("%d %d", &n, &m)){memset(u, false, sizeof(u));k = t = 0;if (n>8){k = n - 8; n = 8;for (i=1;i<=k;++i){printf("%d ", i);}}j = n, s = (1+n)*n/2;for (i=1;i<n;++i){o = (m-1) / f[--j];m -= o++ * f[j];for (t=1;t<10;++t){if (u[t]) continue;if (--o == 0) break;}s -= t;u[t] = true;printf("%d ", t + k);}printf("%d\n", s + k);}return 0;}
网上抄的STL:
#include <cstdio>#include <algorithm>#include <iostream>using namespace std;int n, m, s[1010];int main(){while (~scanf("%d%d", &n, &m)){int i;for (i=0;i<n;++i){s[i] = i + 1;}for (i=2;i<=m;++i){next_permutation(s, s + n);}for (i=0;i<n-1;++i){printf("%d ", s[i]);}printf("%d\n", s[n-1]);}return 0;}
- hdu 1027 字典序全排列
- 全排列 字典序排列
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 全排列-字典序
- 全排列-字典序
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 字典序全排列实现
- 字典序输出全排列
- 生成字典序全排列
- 全排列以及字典序
- 字典序全排列算法
- 全排列算法的字典序排列
- 2012年8月24日
- SQL Server数据库简体繁体数据混用的问题
- Java抽象类分析
- 关于Session
- 【单例模式】饿汉式&懒汉式
- hdu 1027 字典序全排列
- Javascript性能优化
- 关于手机浏览器用户群的思考
- 芯片缺货影响全球智能手机商
- SED单行脚本快速参考
- 浅聊这2个月的学习
- awk 正则表达式、正则运算符详细介绍
- 全双工/半双工的几个概念
- C strcpy()和strstr()函数的写法