记录编号 137618 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 Gravatar儘韾 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-11-04 21:38:25 内存使用 1.12 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cctype>
using namespace std;
int n,m,cnt,f[10001][21],q[1001];
void change()
{
    for(int i=1;i<=m;i++)
        f[cnt][i]=q[i];
}
void dfs(int x,int y,int sum)
{
    if(y==m) {cnt++;q[y]=sum;change();return;}
    for(int i=x;i<=sum/(m-y+1);i++)
    {
        q[y]=i;
        dfs(i,y+1,sum-i);
    }
}
int main()
{
    freopen("dataa.in","r",stdin);
    freopen("dataa.out","w",stdout);
    cin>>n>>m;
    
    dfs(1,1,n);
    
    cout<<cnt<<endl;
    for(int i=1;i<=cnt;i++)
    {
        for(int j=1;j<m;j++)
            cout<<f[i][j]<<' ';
        cout<<f[i][m]<<endl;
    }
    return 0;
}