比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 vampire 运行时间 0.003 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2014-11-04 19:08:30
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,sum=0,a[20];
void print()
{
	int i;
	for(i=1;i<=m;++i)
	  cout<<a[i]<<' ';
	cout<<endl;
}
int dfs(int x,int y,int z,int s)
{
	int i;
	for(i=x;i<=n;++i)
	{
		if(z+i<=n&&y<=m)
		{
			a[y]=i;
			if(z+i==n&&y==m)
			{
				if(s) sum+=1;
				else print();
			}
			else dfs(i,y+1,z+i,s);
		}
	}
}
int main()
{
	freopen("dataa.in","r",stdin);
	freopen("dataa.out","w",stdout);
	cin>>n>>m;
	dfs(1,1,0,1);  cout<<sum<<endl;
	dfs(1,1,0,0);
	fclose(stdin);
	fclose(stdout);
}