记录编号 309458 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 GravatarAeons 是否通过 通过
代码语言 C++ 运行时间 0.021 s
提交时间 2016-09-19 19:39:14 内存使用 0.66 MiB
显示代码纯文本
#include <fstream>
using namespace std;
ifstream fin("dataa.in");
ofstream fout("dataa.out");
int m,n,c[11],ans=0,civilian[10000][11],t;
void dfs(int x,int y)
{
	int i;
	if(x==m)
	{
		c[m]=n-t;
		if(c[m]>=c[m-1])
		{
			ans++;
			for(i=1;i<=m;i++)
			{
				civilian[ans][i]=c[i];
			}
		}
	}
	else
	{
		for(i=y;i<=n-m+1;i++)
		{
			c[x]=i;
			t+=i;
			if(t<=n)
				dfs(x+1,i);
			t-=i;
		}
	}
}

int main()
{
	fin>>n>>m;
	int i;
	dfs(1,1);
	fout<<ans<<endl;
	for(i=1;i<=ans;i++)
	{
		for(int j=1;j<=m;j++)
			fout<<civilian[i][j]<<' ';
		fout<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}