记录编号 |
309467 |
评测结果 |
AAAAAAAAAA |
题目名称 |
分组 |
最终得分 |
100 |
用户昵称 |
Ceres |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.012 s |
提交时间 |
2016-09-19 20:02:14 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include <fstream>
using namespace std;
ifstream ci("dataa.in");
ofstream co("dataa.out");
int n,m,group[201][11]={0},ans=1;
void dfs(int a,int b)
{
if(a==m && group[ans][a-1]<=b)
{
group[ans++][a]=b;
for(int i=1;i<=m;i++)
group[ans][i]=group[ans-1][i];
}
else
for(int i=1;i<=b;i++)
if(group[ans][a-1]<=i)
{
group[ans][a]=i;
dfs(a+1,b-i);
}
}
int main()
{
ci>>n>>m;
dfs(1,n);
ans--;
co<<ans<<endl;
for(int i=1;i<=ans;i++)
{
for(int j=1;j<=m;j++)
co<<group[i][j]<<' ';
co<<endl;
}
ci.close();
co.close();
return 0;
}