| 比赛 | 2008haoi模拟训练1 | 评测结果 | AAAAAEAAAA | 
    | 题目名称 | 分组 | 最终得分 | 90 | 
    | 用户昵称 | francis | 运行时间 | 0.004 s | 
    | 代码语言 | Pascal | 内存使用 | 0.22 MiB | 
    | 提交时间 | 2008-04-22 10:14:02 | 
显示代码纯文本
program dataa;
const
max=1000;
var
q,x,k,i,n,m:longint;
a:array[1..max,1..6] of longint;
p:array[1..6]of longint;
f1,f2:text;
procedure fen(i,x,k:longint);
var
l,j,min:longint;
begin
min:=x div k;
if (k=1)and(x<p[m-1]) then exit;
if (k=1) and (x>=p[m-1]) then
  begin
  p[m]:=x;
  inc(q); for l:=1 to m do
  a[q,l]:=p[l];   exit;
  end;
  for j:=i to min do
begin
p[m-k+1]:=j; fen(j,x-j,k-1);
end;
end;
begin
assign(f1,'dataa.in');
assign(f2,'dataa.out');
reset(f1);
rewrite(f2);
read(f1,n,m);
q:=0;
if m=1 then write(f2,n) else
begin
fen(1,n,m);
write(f2,q);
for i:=1 to q do
begin
writeln(f2);
for k:=1 to (m-1) do
write(f2,a[i,k],' '); write(f2,a[i,m]);
end;
close(f1); close(f2);
end;
end.