Pagini recente » Cod sursa (job #2431486) | Cod sursa (job #767619) | Cod sursa (job #956517) | Cod sursa (job #3003171) | Cod sursa (job #152254)
Cod sursa(job #152254)
var f,g:text;
n:byte;
sol:array[1..9]of byte;
procedure init(vf:byte);
begin
sol[vf]:=0;
end;
function succ(vf:byte):boolean;
begin
if sol[vf]<n then
begin
inc(sol[vf]);
succ:=true;
end else
succ:=false;
end;
function valid(vf:byte):boolean;
var i:byte;
begin
valid:=true;
for i:=1 to vf-1 do
if sol[i]=sol[vf] then valid:=false;
end;
function ok(vf:byte):boolean;
begin
if vf=n+1 then ok:=true
else ok:=false;
end;
procedure tipar;
var i:byte;
begin
for i:=1 to n do
write(g,sol[i],' ');
writeln(g);
end;
procedure perm(vf:byte);
begin
if ok(vf) then tipar
else
begin
init(vf);
while succ(vf) do
if valid(vf) then perm(vf+1);
end;
end;
begin
assign(f,'permutari.in');
assign(g,'permutari.out');
reset(f);
rewrite(g);
read(f,n);
perm(1);
close(f);
close(g);
end.