Pagini recente » Cod sursa (job #911312) | Cod sursa (job #1844391) | Cod sursa (job #1808460) | Cod sursa (job #2328949) | Cod sursa (job #4530)
Cod sursa(job #4530)
var n,i,aux,rest:longint;
W:array[1..1010] of longint;
begin
assign(input,'dame.in');reset(input);
assign(output,'dame.out');rewrite(output);
readln(n);
if n=1 then
begin
writeln(1);
writeln('1 1');
end;
if n=2 then
begin
writeln(1);
write('1 1');
end;
if n=3 then
begin
writeln(2);
writeln('1 1');
writeln('2 3');
end;
rest:=n mod 12;
for i:=1 to n div 2 do
W[i]:=2*i;
if (rest=3)or(rest=9) then
begin
aux:=2;
for i:=1 to n div 2 do
W[i]:=W[i+1];
W[n div 2]:=aux;
end;
for i:=n div 2+1 to n do
W[i]:=(i-n div 2)*2-1;
if rest=2 then
begin
aux:=W[n div 2+1];
W[n div 2+1]:=W[n div 2+2];
W[n div 2+2]:=aux;
for i:=n div 2+3 to n-1 do
W[i]:=W[i+1];
W[n]:=5;
end;
if rest=8 then
begin
i:=n div 2+1;
while i<=n do
begin
aux:=W[i];
W[i]:=W[i+1];
W[i+1]:=aux;
inc(i,2);
end;
end;
if (rest=3)or(rest=9) then
begin
for i:=n div 2+1 to n-2 do
W[i]:=W[i+2];
W[n-1]:=1;
W[n]:=3;
end;
writeln(n);
for i:=1 to n do
writeln(i,' ',W[i]);
close(input);close(output);
end.