比赛 |
NOIP2015普及组练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
分组 |
最终得分 |
100 |
用户昵称 |
zjh001 |
运行时间 |
0.010 s |
代码语言 |
C |
内存使用 |
0.45 MiB |
提交时间 |
2015-11-06 18:47:55 |
显示代码纯文本
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
输入文件名: dataa.in
6 3
输出文件名: dataa.out
3
1 1 4
1 2 3
2 2 2
*/
int n,m;
int s[205][205],cnt;
int a[205];
int find(int x,int y,int t)
{
int i,j;
if (t==m-1 && x>=y)
{
for (i=0;i<m-1;i++)
s[cnt][i]=a[i];
s[cnt][m-1]=x;
cnt++;
return 0;
}
for (i=y;i<=x;i++)
{
a[t]=i;
find(x-i,i,t+1);
}
}
int main()
{
int i,j;
freopen("dataa.in","r",stdin);
freopen("dataa.out","w",stdout);
scanf ("%d%d",&n,&m);
find(n,1,0);
printf ("%d\n",cnt);
for (i=0;i<cnt;i++)
{
for (j=0;j<m;j++)
printf ("%d ",s[i][j]);
printf ("\n");
}
//while (1);
return 0;
}