nyoj------擅长排列的小明
时间:2022-05-05
本文章向大家介绍nyoj------擅长排列的小明,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
擅长排列的小明
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述小明十分聪明,而且十分擅长排列计算。比如给小明一个数字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
组合全排列,STL
字典序排列:
涉及到知识: next_permutation();
代码:
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<algorithm>
5 using namespace std;
6 int str[12]={1,2,3,4,5,6,7,8,9,10},maze[12];
7 int main()
8 {
9 int t,m,n,i;
10 scanf("%d",&t);
11 while(t--)
12 {
13 scanf("%d %d",&n,&m);
14 memcpy(maze,str,sizeof(int)*m);
15 while(next_permutation(str,str+n))
16 {
17 for( i=0;i<m;i++)
18 {
19 if(memcmp(maze,str,sizeof(int)*m)==0)
20 break;
21 printf("%d",maze[i]);
22 }
23 if(i==m)
24 printf("n");
25 memcpy(maze,str,sizeof(int)*m);
26 }
27 for( i=0;i<m;i++)
28 {
29 if(memcmp(maze,str,sizeof(int)*m)==0) break;
30 printf("%d",maze[i]);
31 }
32 printf("n");
33
34 }
35 return 0;
36 }
- log4net.SignalR - 日志即时发送客户端页面
- 科学家担心的智能爆炸,真会有这一天吗?
- RSA 2018:从大会议题看2018年网络安全趋势
- Silverlight:Mouse Avoiding 躲避鼠标效果
- CTreeCtrl 控件使用总结
- 在ASP.NET MVC 4中使用Kendo UI Grid
- 每周四更面试题:True+True=?
- iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
- NET中验证控件表达式汇总
- 动态执行超过4000个字符的SQL
- 在ASPNET中使用JS集锦
- 小程序又又又……
- js中页面刷新和页面跳转的方法总结
- PixelBender(着色器)初体验
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 二维码登录实现(EggJS, 小程序)
- Vant Weapp 1.0 正式版发布
- Linux虚拟内存管理
- web前端常见面试题
- JavaScript中的运算符、流程控制语句、函数、对象及数组
- iOS property的多线程问题解析
- Jest 单元测试快速上手指南
- python实现rc4加密解密,base64输出
- 「类与对象」NSObject对象的分类
- [Go] Golang练习项目-GO实现冒泡排序以及优化算法
- React 17 要来了,非常特别的一版
- 自动控制理论笔记
- 进程之间究竟有哪些通信⽅方式?如何通信? mkfifo - 创建FIFO(命名管道)
- 任意文件包含漏洞(1)
- 解析漏洞——中间件