记录编号 138087 评测结果 AEEEEEEEAA
题目名称 分组 最终得分 30
用户昵称 Gravatarinfnite albert 是否通过 未通过
代码语言 Pascal 运行时间 0.004 s
提交时间 2014-11-05 17:18:39 内存使用 0.17 MiB
显示代码纯文本
var  m,n,t,k,x,q:longint;       
    a:array[1..10]of longint;	   
	b:array[1..1000]of longint;

function temp:longint;
var z:longint;begin     
temp:=0;    
for z:=1 to m do		 
temp:=temp+a[z];
end;

procedure dfs(step,p:longint);
var i,c:longint;
begin    
     if step>m then begin 		
	     if  (temp=n) then 	         
			 begin				 
	             inc(t);				
			     for c:=1 to m do			
		             begin						    
          	             b[c+k]:=a[c];				
		             end;				
				 k:=k+m; 			
			 end;	 	 
	     exit;	
     end;	 
	for i:=1 to p do      
		if  i>=a[step-1] then 	      
			begin				
		         a[step]:=i;	         
		         dfs(step+1,p-a[step]);          
		end;	 
end; 
		
begin
		assign(input,'dataa.in');
		assign(output,'dataa.out');
		reset(input);
		rewrite(output);	
		k:=0;
		readln(n,m);
		dfs(1,n);
		writeln(t);
		q:=1;
		while  q+2<>k do
			begin
				 for x:=q to q+m-1 do
					 write(b[x],' ');
  				 writeln;
				 q:=q+m;
			 end;
	 for x:=k-2 to k do
         write(b[x],' ');		 
	 close(input);	 
	 close(output);
end.