1651: 排列顺序
2016-06-23 19:23
330 查看
1651: 排列顺序 时间限制: 1 Sec 内存限制: 128 MB 提交: 375 解决: 150 [提交][状态][讨论版] 题目描述 数字1,2,3,4,5排列可以形成多个数字,按序的话第一个数字12345, 第二个排列数是12354,第100个排列数是51342。 现在给定数字n,求第n个由数字1,2,3,4,5构成的排列数。 输入 输入一个合法的正整数n。 输出 输出第n个由数字1,2,3,4,5构成的排列数。 样例输入 100 样例输出 51342 提示 来源 CYH [提交][状态][讨论版 来源: http://acm.hnust.edu.cn/JudgeOnline/problem.php?id=1651
#include <cstdio> char P[6]; int Count=0,n; int Q_P(int Set) { if(Set==5) { if(++Count==n) return 1; else return 0; } else { for(int i=1;i<=5;i++) { int flag=0; for(int j=0;j<Set;j++) if(P[j]==i+'0') {flag=1;break;} if(flag) continue; P[Set]='0'+i; if(Q_P(Set+1)==1) return 1;//一定要确定返回值要求是1 因为系统会随机返回一个值 而很有可能非0 else continue; } } } int main(void) { scanf("%d",&n);Q_P(0); puts(P); }
相关文章推荐
- 第二次作业150206226
- j2ee项目中jsp第一行报错
- 1638: 遍地桔子
- 穿透事件
- 前端构建工具gulpjs的使用介绍及技巧
- angularJS通过jsonp实现跨域访问
- c++学习心得
- 在Android Studio下执行高德搜索你“1008 ”?
- android 程序中res/values-v14/styles.xml报错的解决办法
- UE4-编译UE4源码
- mysql 基于 ssl 的主从复制
- Oracle创建表格时报错ora-00903:表名无效
- Bzoj3533:[Sdoi2014]向量集:线段树+凸包+三分
- 第十四周(2)-阅读程序
- 1032: A + B Problem II
- 每个程序员都应该收藏的算法复杂度速查表
- 1400: 杨辉三角 //数组水题 2个数组轮次使用
- 解析数据传参数字典类型的(传服务器上是文本)
- Java I/O : 概述
- DFS_棋盘问题