记录编号 309456 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 GravatarWHZ0325 是否通过 通过
代码语言 C++ 运行时间 0.025 s
提交时间 2016-09-19 19:33:41 内存使用 0.33 MiB
显示代码纯文本
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dataa.in");
ofstream fout("dataa.out");
int m,n;
vector<int> way;
vector<int> ways[1000];
int wi=0;
void dfs(int n0,int max0) {
	if(way.size()==m-1) {
		if(n0==0||n0<max0) {
			return;
		}
		way.push_back(n0);
		ways[wi]=way;
		way.pop_back();
		wi++;
		return;
	}
	else {
		for(int i=max0;i<=n0;i++) {
			way.push_back(i);
			dfs(n0-i,i);
			way.pop_back();
		}
	}
}
int main() {
	fin>>n>>m;
	dfs(n,1);
	fout<<wi<<endl;
	for(int i=0;i<wi;i++) {
		for(int j=0;j<ways[i].size();j++) {
			fout<<ways[i][j]<<" ";
		}
		fout<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}