Cod sursa(job #145223)

Utilizator HoriaClementHoriaC HoriaClement Data 28 februarie 2008 16:43:40
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.93 kb
var s:array[1..10] of longint;   
    n,k:longint;   
  
procedure back(k:longint);   
var i,j:longint;   
    ok:boolean;   
begin  
if k=n then  
        begin  
        for i:=1 to n do  
                write(s[i],' ');   
        writeln;   
        end  
else  
        begin  
        for i:=1 to n do  
                begin  
                ok:=true;   
                for j:=1 to k do  
                        if s[j]=i then  
                                begin  
                                ok:=false;   
                                break;   
                                end;   
                if ok then  
                        begin  
                        s[k+1]:=i;   
                        back(k+1);   
                        end;   
                end;   
        end;   
end;   
  
begin  
assign(input,'permutari.in');reset(input);   
assign(output,'permutari.out');rewrite(output);   
readln(n);   
back(0);   
close(input);close(output);   
end.  
var s:array[1..10] of longint;
    n,k:longint;

procedure back(k:longint);
var i,j:longint;
    ok:boolean;
begin
if k=n then
        begin
        for i:=1 to n do
                write(s[i],' ');
        writeln;
        end
else
        begin
        for i:=1 to n do
                begin
                ok:=true;
                for j:=1 to k do
                        if s[j]=i then
                                begin
                                ok:=false;
                                break;
                                end;
                if ok then
                        begin
                        s[k+1]:=i;
                        back(k+1);
                        end;
                end;
        end;
end;

begin
assign(input,'permutari.in');reset(input);
assign(output,'permutari.out');rewrite(output);
readln(n);
back(0);
close(input);close(output);
end.