算法提高 排列数
2017-03-11 19:56
169 查看
算法提高 排列数
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
0、1、2三个数字的全排列有六种,按照字母序排列如下:
012、021、102、120、201、210
输入一个数n
求0~9十个数的全排列中的第n个(第1个为0123456789)。
输入格式
一行,包含一个整数n
输出格式
一行,包含一组10个数字的全排列
样例输入
1
样例输出
0123456789
数据规模和约定
0 < n <= 10!
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
0、1、2三个数字的全排列有六种,按照字母序排列如下:
012、021、102、120、201、210
输入一个数n
求0~9十个数的全排列中的第n个(第1个为0123456789)。
输入格式
一行,包含一个整数n
输出格式
一行,包含一组10个数字的全排列
样例输入
1
样例输出
0123456789
数据规模和约定
0 < n <= 10!
#include <cstdio> #include<stdlib.h> #include <algorithm> #include <string.h> #include <iostream> using namespace std; int vist[20]; int a[20]; long long sum; long long n; void dfs(int s) { if(s==10) { sum++; if(sum==n) {for(int i=0;i<10;i++) printf("%d",a[i]); printf("\n"); } } else { for(int i=0;i<=9;i++) { if(!vist[i]) { vist[i]=1; a[s]=i; dfs(s+1); vist[i]=0; } } } } int main() { while(scanf("%lld",&n)!=EOF) { memset(vist,0,sizeof(vist)); sum=0; dfs(0); } return 0; }
相关文章推荐
- 蓝桥杯 算法提高 逆序排列
- 蓝桥杯算法提高 逆序排列
- 蓝桥杯 ADV-103算法提高 逆序排列
- 蓝桥杯 算法提高 逆序排列
- 算法-蓝桥杯-算法提高 逆序排列(JAVA)
- 算法提高 排列数
- 蓝桥杯_算法提高 排列数
- 算法提高 ADV-103 逆序排列
- 算法提高 逆序排列
- 蓝桥杯 - 算法提高 排列数 【STL-next_permutation求全排列】
- 蓝桥杯 ADV-103 算法提高 逆序排列
- 蓝桥杯- 算法提高 逆序排列
- 蓝桥杯 ADV-103 算法提高 逆序排列
- ADV-103-算法提高-逆序排列
- 算法提高 排列数
- 蓝桥杯 算法提高 排列数
- 算法提高 逆序排列
- 算法提高 逆序排列
- 算法笔记_158:算法提高 逆序排列(Java)
- 算法提高 逆序排列