Pagini recente » Cod sursa (job #2199894) | Cod sursa (job #477431) | Cod sursa (job #1283808) | Cod sursa (job #2869678) | Cod sursa (job #1646755)
var
a: array[1..100]of longint;
n, i, j, s, x: longint;
procedure deplasare;
var
y: integer;
begin
for y := n downto 2 do
if a[y] = n + 1 then begin
a[y] := 1;
a[y - 1] := a[y - 1] + 1;
end;
end;
procedure afisare;
var
k: integer;
begin
for k := 1 to n do
write(a[k], ' ');
writeln;
end;
function verificare: boolean;
var
i, j, s: integer;
begin
verificare := true;
for i := 1 to n - 1 do
for j := i + 1 to n do
if (a[i] = a[j]) or (abs(i - j) = abs(a[i] - a[j])) then
begin
verificare := false;
break;
end;
end;
begin
assign(input, 'damesah.in');
assign(output, 'damesah.out');
reset(input);
rewrite(output);
read(n);
x := 1;
s := 0;
for i := 1 to n do
begin
a[i] := 1;
x := x * n;
end;
for j := 1 to x do
begin
//afisare;
if verificare then begin
s := s + 1;
if s = 1 then afisare
end;
inc(a[n]);
deplasare;
end;
write(s);
end.