码迷,mamicode.com
首页 > 其他好文 > 详细

简单的深搜题

时间:2015-08-02 21:41:21      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

/*高中同学问了我一道题,开始以为简单循环就能完成,后来发现原来是道深搜题,一开始还没想出来...
问题描述
给1到N,N个数,要你从中选取M个出来,请输出每一种的选取情况(根据序列字典序输出,
即两个序列比大小,第一位小的小,若相等第二位小的小,若相等第三位小的小……)。 
样例输入
4 3
样例输出
1 2 3
1 2 4
1 3 4
2 3 4*/
<span style="font-size:18px;">#include<stdio.h>
int ans[10];
void dfs(int start,int has,int n,int m)
{
	if(has==m)
	{
		for(int i=0;i<m;i++)
		printf("%d ",ans[i]);
		printf("\n");
		return;
	}
	for(int i=start+1;i+m<=n+has+1;i++)
	{
	ans[has]=i;
	dfs(i,has+1,n,m);	
	}
}
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	dfs(0,0,n,m);
}</span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

简单的深搜题

标签:

原文地址:http://blog.csdn.net/qjt19950610/article/details/47210543

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!