这题我是用深度搜索的方法写的。
因为要按字典顺序输出,所以填数的时候,前面的数要小于后面的数。
搜索的时候,我把填的数放在字符串里面。
var
n,r,i:longint;
procedure print(s:string);
var
i:longint;
begin
for i:=1 to length(s) do
write(s[i]:3);
writeln;
end;
procedure search(dep,l:longint;y:string);
var
i:longint;
s:string;
begin
if dep>r then
begin
print(y);
exit;
end;
for i:=l+1 to n do
begin
s:='';
str(i,s);
search(dep+1,i,y+s);
end;
end;
begin
read(n,r);
if n>r then halt;
search(1,0,'');
end.