Pagini recente » Cei mai harnici utilizatori info-arena | Cod sursa (job #691110) | Cod sursa (job #2462773) | Cod sursa (job #3264922) | Cod sursa (job #623338)
Cod sursa(job #623338)
var i,n:integer;
v:array[1..1000] of integer;
f,g:text;
function valid(q,k:integer):boolean;
begin
valid:=true;
for i:=1 to k-1 do
if v[i]=q then
valid:=false;
end;
procedure bckt;
var k,p:integer;
c:array[1..1000] of integer;
begin
k:=1;
v[k]:=0;
while k>0 do begin
p:=0;
while (v[k]<n) and (p=0) do begin
inc(v[k]);
if valid(v[k],k) then
p:=1;end;
if p<>0 then
if k=n then begin
for i:=1 to n do
write (g,v[i],' ');writeln(g);end
else begin
k:=k+1;
v[k]:=0;end
else
k:=k-1;
end;
end;
begin
assign (f,'permutari.in');assign (g,'permutari.out');
reset(f);rewrite(g);
read (f,n);
bckt;
close (g);
end.