比赛 |
搜索题... |
评测结果 |
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;
}
}