比赛 暑假培训二 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-07-18 09:54:15
显示代码纯文本
program cch(input,output,f1,f2);
var
 f1,f2:text;
 n,m,c,r,i:integer;
 a:array[1..10000] of integer;
 b:array[1..3] of integer;

procedure make(k,j,q:integer);
var
 i,w:integer;
begin
 if k=m then begin
          b[k]:=q;
          inc(c);
          for w:=1 to k do begin
           inc(r);
           a[r]:=b[w];
          end;
          exit;
          end;
 for i:=j to (q div (m-k+1)) do
  begin
   b[k]:=i;
   q:=q-i;
   j:=i;
   make(k+1,j,q);
   q:=q+i;
  end;
end;
begin
 assign(f1,'dataa.in');
 assign(f2,'dataa.out');
 reset(f1);
 rewrite(f2);
 readln(f1,n,m);
 c:=0;  r:=0;
 make(1,1,n);
 writeln(f2,c);
 for i:=1 to r do begin
  write(f2,a[i],' ');
  if i mod 3 =0 then writeln(f2);
 end;
 close(f1);
 close(f2);
end.