擅长排列的小明(nyoj19)
擅长排列的小明
- 描述
-
小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。
- 输入
-
第一行输入整数N(1<N<10)表示多少组测试数据,
每组测试数据第一行两个整数 n m (1<n<9,0<m<=n) - 输出
- 在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例
- 样例输入
-
2 3 1 4 2
- 样例输出
-
1 2 3 12 13 14 21 23 24 31 32 34 41 42 43
代码
#include<stdio.h>#define MAXSIZE 10
int array[MAXSIZE];
bool bi[MAXSIZE];int n, r;void back(int num_1, int num_2);int main()
{int count, i;scanf("%d", &count);while(count--){scanf("%d%d", &n, &r);if(r == 0){printf("\n");continue;}for(i = 1; i <= n; i++){array[0] = i;bi[i] = 1;back(i, 1);bi[i] = 0;}}return 0;
}void back(int num_1, int num_2)
{int i;if(num_2 == r){for(i = 0; i < r; i++)printf("%d", array[i]);printf("\n");} else{for(i = 1; i <= n ; i++){if(bi[i]) //重点是标记数组 因为最后打出的数中 数字不能重复continue;/* if(i == num_1)continue;*/array[num_2] = i;bi[i] = 1;back(i , num_2 + 1);bi[i] = 0; //重新标记成未被标记的 回溯}}
}
擅长排列的小明(nyoj19)相关推荐
- NYOJ 擅长排列的小明 II---Problem B
擅长排列的小明 II 时间限制:1000 ms | 内存限制:65535 KB 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5 ...
- 动态规划(6)——NYOJ469擅长排列的小明II*
擅长排列的小明 II 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列: 1.第一个数必须是1 2. ...
- nyist oj 19 擅长排列的小明(dfs搜索+STL)
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 小明十分聪明.并且十分擅长排列计算.比方给小明一个数字5,他能立马给出1-5按字典序的全排列,假设你想 ...
- nyoj 19 擅长排列的小明(深搜,next_permutation)
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难 ...
- 南阳理工学院OJ 擅长排列的小明
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难 ...
- NYOJ 19 擅长排列的小明
擅长排列的小明 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你 ...
- NYIST 擅长排列的小明
擅长排列的小明 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你 ...
- NYOJ 擅长排列的小明 酒馆浪人的博客
这道题依旧是全排列只不过根D的小L略有不同 擅长排列的小明 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5 ...
- 擅长排列的小明 II
描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列: 1.第一个数必须是1 2.相邻两个数之差不大于2 ...
最新文章
- pkg-config工具在实际工程中的用法
- 隔年的衣服发黄处理方法
- 14岁清华本科新生免试直博!高校新生大数据陆续曝光,男女比例、年龄差距各异......
- 微信小程序 提交表单
- saber软件安装后怎么打开_教程:新《Beat Saber》mod安装工具已推出
- linux中的守护进程
- PHP程序中时间戳,php 时间戳常用代码
- mysql多线程使用一个链接_探索多线程使用同一个数据库connection的后果
- pycharm终端运行python文件_在PyCharm终端中执行python manage.py..._慕课问答
- 【案例】保健品行业如何优化供应链管理?APS系统来帮忙
- 机器学习从业者人手必备的8本书
- 《ARM64体系结构编程与实践》开始预订了
- 简历关于计算机办公软件怎么写,简历中怎么写办公软件
- 爬虫手册03 Selenium的使用
- 华为服务器虚拟kvm退出全屏,kvm虚拟机全屏快捷键
- 易知微母公司袋鼠云获过亿元C+轮融资,深耕国产自研数字化领域
- positions的意思_position是什么意思_position的翻译_音标_读音_用法_例句_爱词霸在线词典...
- CSS实现div竖向排版
- aria2 linux 手动安装,Linux安装aria2(示例代码)
- 7 种模型加权集成方法
热门文章
- 微软云计算介绍与实践(实践之三十五)
- sem_wait sem_post信号量操作进本函数
- AFNetWork 学习资源....
- yum 快速安装 LAMP
- Oracle listener静态注册和动态注册(zt)
- Python3之max key参数学习记录
- 理解浏览器和nodeJs中的事件循环(Event Loop)
- 【Spring】21、用spring目标对象处理Transaction rolled back because it has been marked as rollback-only...
- 解决 sublime text 3 there are no packages available for installation 错误
- LeetCode57 Insert Interval