各位大牛看看我的程序为什么超时

var i,k,n,m,j:integer;

a:array[1..10000000] of integer;

procedure print;

var i:integer;

begin

inc(j);

if j=m then

begin

write(a[1]);

for i:=2 to n do

begin

write(a[i]:2);

end;

exit;

end;

end;

function mcf(k:integer):boolean;

var i:integer;

begin

mcf:=true;

for i:=1 to k-1 do

if a[i]=a[k] then begin mcf:=false; break; end;

end;

procedure try(k:integer);

var i:integer;

begin

if k>n then begin print; exit; end;

for i:=1 to n do

begin

a[k]:=i;

if mcf(k) then try(k+1);

end;

end;

BEGIN

readln(n,m);

try(1);

readln;

END.

1 条评论

  • 1

信息

ID
1092
难度
5
分类
组合数学 点击显示
标签
(无)
递交数
4526
已通过
1400
通过率
31%
被复制
11
上传者