擅长排列的小明

擅长排列的小明

时间限制: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

查看代码---运行号:253483----结果:Accepted

运行时间:2012-10-08 22:20:26  |  运行人:huangyibiao

view sourceprint?

01.#include <cstdio>

02.#include <cstring>

03.using
namespace std;

04. 

05.void
FullPermutation(int
x,
bool *visit,
int n, int
*elem, int
m)

06.{

07.if
(x > m) //当x>m时,表示已经找够一个排列

08.{

09.for
(int
i = 1; i <= m; i++)

10.printf("%d", elem[i]);

11.putchar(10);

12.}

13.else

14.{

15.for
(int
i = 1; i <= n; i++)

16.{

17.if
(!visit[i])

18.{

19.visit[i] =
true;

20.elem[x] = i;

21.FullPermutation(x+1, visit, n, elem, m);

22.visit[i] =
false;

23.}

24.}

25.}

26.}

27. 

28.int
main()

29.{

30.int
n, m;

31.int
sample;

32. 

33.scanf("%d", &sample);

34.while
(sample --)

35.{

36.scanf("%d %d",
&n, &m);

37. 

38. 

39.int
*elem = new
int
[m+1];

40.bool
*visit = new
bool
[n+1];//标记元素是否访问

41. 

42.memset(visit,
false, sizeof(bool));

43.FullPermutation(1, visit, n, elem, m);

44. 

45.delete
[]elem;

46.delete
[]visit;

47.}

48.return
0;

49.}

时间: 2024-08-05 02:59:39

擅长排列的小明的相关文章

NYOJ 469 擅长排列的小明 II

点击打开链接NYOJ 469 1思路:递推2分析:为了简便起见,我们用Ai代表第i个数字 , 由于A1一直是1,所以A2只能是2或3.假设dp[n]表示1->n这个序列的方案数            1.当A2=2时,从A2到An的排列(2~n)相当于从A1到An-1的排列(1~n-1)(把每个数字都加1),一共有dp[n-1]种情况.            2.当A2=3时,A3可能为2,4,5.                1.当A3=2时,A4一定等于4,此时从A4到An的排列(4~n)

hdu 4527 小明系列故事之玩转十滴水

小明最近喜欢上了一个名为十滴水的游戏. 开发"> 游戏是在一个6*6的方格 内进行的,每个格子上有一滴水或者没有水滴.水滴分为四个等级1~4.初始时你有十滴水,通过把水加 入格子内的水滴,会让水滴升1级.你也可以把水放到空格子内,这样会在这个格子里面产生一个1级的 水滴.当水滴等级大于4时则会爆裂为四个小水滴,并向四个方向飞溅.每个飞溅的小水滴碰到其他水滴 后会融入其中,使其升一级或者爆裂,以此类推.飞溅的小水滴互不干扰,运动速度相等(1秒可以移动 一个格子的距离).水滴爆裂后就消失掉了.

编程-小明和小红在山上奔跑的难题

问题描述 小明和小红在山上奔跑的难题 小明和小红是好朋友,他们相约在山坡上奔跑,小明的速度是小红的1.5倍,小红每跑5圈就被小明追上一次. 编程输入小明奔跑的速度,运用学过的定时器的知识,模拟显示小明和小红跑步的过程.按esc退出程序. 解决方案 急,管用不?还是自己动手吧 要 Turbo C 2.0 的编程环境,现在难找 解决方案二: 作业题目请自己动脑思考~不要过于依赖他人,这只会让你能力下降~ 解决方案三: 我貌似看过这个题目了,又问一次么? 解决方案四: you should do yo

编程-小明和小红在山坡上奔跑

问题描述 小明和小红在山坡上奔跑 小明和小红是好朋友,他们相约在山坡上奔跑,小明的速度是小红的1.5倍,小红每跑5圈就被小明追上一次. 编程输入小明奔跑的速度,运用学过的定时器的知识,模拟显示小明和小红跑步的过程.按esc退出程序. 解决方案 例如,设置一个 1 秒的定时器和一个 1.5 秒的定时器,满足 1.5 倍的关系就行.两个定时器分别控制两点在一个环形线路上运行,就可以彀模拟的效果. 解决方案二: 诡异的条件! 小明的速度是小红的1.5倍,则他们速度的公倍数是 3 的倍数,最小公倍数为

程序员小明相亲记:如何破解妹子的环游世界难题

简评:程序猿的我们其实也渴望爱情哇,我们不是只需要抱着电脑睡觉,起床后和电脑说早安,面对的电脑经历一日三餐的呀,其实我们这些程序员只希望能够一个人能够懂得自己的,理解我们为什么会执着与代码,理解我们为什么会像女生买包一样囤书.其实每个程序员上辈子都是折翼的天使,只等你来说那句"Hello World". 话说有一个程序员叫小明,业务能力挺不错,人也不丑,但是一直没有女朋友,周围同事朋友们都很着急. 后来有一天小明一个人去看电影<爱宠大机密>,刚好坐在他隔壁的MM也是一个人,

胡小明:切断非法捆绑软件的获利通道

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   据人民网报道,在2013年10月份人民网组织的互联网软件捆绑安装专题研讨会上,中国信息协会副会长胡 小明表示,捆绑销售还是要区别对待,对那些非法或危害用户利益的捆绑软件,应切断其获利通道. 胡小明指出,捆绑销售本身并无对错,是一种销售行为,而且这种销售行为在很多的情况下,给用户是带来好处的,寻求对用户都有利的东西来进行捆绑,这是应该得以支持的.但一些非法捆绑软件

密歇根州立大学教授刘小明讲解:人脸识别的新技术 | 大牛讲堂

雷锋网按:本文作者刘小明,密歇根州立大学计算机科学与工程系助理教授,计算机视觉.模式识别.生物识别和机器学习领域专家.曾任ICPR,WACV和CVPR等多个计算机视觉及图像处理国际顶尖会议主席,获得多项国际学术大奖.共发表或出版100余本学术文章,持有22项美国专利. 在计算机视觉领域,人脸识别一直以来都是学术界和工业界的双重宠儿.学术上的热门和工业市场的迫切需求,使得围绕该方向的核心技术自深度学习爆发以来,得到了更为迅猛的发展. 得益于深度学习,当前计算机对人脸属性的分析判断在某些(姿态.光照

java 课题 小明要到美国旅游 关于 摄氏度和华氏度的题目

问题描述 小明要到美国旅游关于摄氏度和华氏度的题........

HDOJ 2096 小明A+B

Problem Description 小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么小明也仅保留计算结果的最后两位. 例如, 对于小明来说: 1) 1234和34是相等的 2) 35+80=15 给定非负整数A和B, 你的任务是代表小明计算出A+B的值. Input 输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数