0
点赞
收藏
分享

微信扫一扫

New Online Judge——组合的输出(dfs)

Spinach菠菜 2022-04-03 阅读 38
c++
#include<iostream>
#include<cstdio>

using namespace std;

const int maxn=50;
int n,m,a[maxn],count=0;

void dfs(int first,int end)
{	
	if(count==m)//count等于一行要输出的个数的时候输出
	{
	for(int i=0;i<m;i++)
	{
	printf("%3d",a[i]); //保证输出占三个字符; 
	}
	printf("\n");//够m个数后换行 
	return;
	}
	for(int i=first;i<=end;i++)
	{
		a[count]=i;
		count++;
		dfs(i+1,end);
		count--;//一定要回退 
	}
}
int main()
{
	cin>>n>>m;
	dfs(1,n);	
	return 0;
 } 
举报

相关推荐

New Online Judge 1017

New Online Judge 1018

New Online Judge 1009

New Online Judge 1007

New Online Judge 1020

New Online Judge 1019

New Online Judge 1012

New Online Judge题解1006

0 条评论