比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 384226056 运行时间 0.015 s
代码语言 C++ 内存使用 1.11 MiB
提交时间 2014-11-04 20:25:33
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a,b,c[21],ans=0,d[9999][21];
void dfs(int q,int w,int e)
{
	if (q==b)
	{
		c[q]=w;ans++;
		for (int m=1;m<=b;m++)
		d[ans][m]=c[m];
		return;
	}
	for (int m=e;m<=w/(b+1-q);m++)
	{
		c[q]=m;dfs(q+1,w-m,m);
	}
}
int main()
{
	freopen("dataa.in","r",stdin);
	freopen("dataa.out","w",stdout);
	cin>>a>>b;
	dfs(1,a,1);cout<<ans<<endl;
	for (int m=1;m<=ans;m++)
	{
		for (int n=1;n<=b;n++)
		  printf("%d ",d[m][n]);
		cout<<endl;
	}
}