比赛 NOIP2015普及组练习 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 AAAAAAAAAA 运行时间 0.007 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2015-11-02 20:43:23
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("dataa.in");
ofstream fout("dataa.out");
int a[11]={1,0,0,0,0,0,0,0,0,0,0},ans=0,q=1;
void sb(int n,int m){
	if(m==0){
		ans++;
		for(int i=1;i<q;i++){
			fout<<a[i]<<' ';}
			fout<<endl;
	}
	if(m==1){
		a[q]=n;q++;
		sb(0,0);}
	if(m>1){
		for(int i=a[q-1];i<=n/m;i++){
			a[q]=i;q++;
			sb(n-i,m-1);}}
	q--;
}
void sb1(int n,int m){
	if(m==0){
		ans++;}
	if(m==1){
		a[q]=n;q++;
		sb1(0,0);}
	if(m>1){
		for(int i=a[q-1];i<=n/m;i++){
			a[q]=i;q++;
			sb1(n-i,m-1);}}
	q--;
}
int main(){
	int n,m;
	fin>>n>>m;
	sb1(n,m);
	fout<<ans<<endl;
	q=1;
	sb(n,m);
	fin.close();
	fout.close();
	return 0;
}