Nu aveti permisiuni pentru a descarca fisierul grader_test4.in
Cod sursa(job #575382)
Utilizator | Data | 8 aprilie 2011 11:32:01 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.86 kb |
program sumebkt;
type vector=array [1..100000] of longint;
var f1,f2:text;
sol,v:vector;
ok1,ok2:boolean;
i,j,n,s,suma,k,solutie:longint;
begin
solutie:=0;
assign(f1,'permutari.in');
reset(f1);
read(f1,n);
close(f1);
assign(f2,'permutari.out');
rewrite(f2);
k:=1;
sol[k]:=0;
while k>0 do
begin
repeat
if (sol[k]<n) then
begin
ok1:=true;
sol[k]:=sol[k]+1;
end
else
ok1:=false;
ok2:=ok1;
if ok1 then
for i:=1 to k-1 do
if sol[i]=sol[k] then
ok2:=false;
until not ok1 or ok2;
if ok1 then
if k=n then
begin
solutie:=solutie+1;
writeln(f2,solutie);
for i:=1 to k do
write(f2,sol[i], ' ');
writeln(f2);
end
else begin
k:=k+1;
sol[k]:=0;
end
else
k:=k-1;
end;
close(f2);
end.