Pagini recente » Cod sursa (job #1246431) | Cod sursa (job #2548253) | Cod sursa (job #990041) | Cod sursa (job #1408836) | Cod sursa (job #22064)
Cod sursa(job #22064)
var a:array[1..10000] of integer;
n,i,j,p,impar,x,y,aux:integer;ok:boolean;
f,g:text;
begin
assign(f,'dame.in');reset(f);
assign(g,'dame.out');rewrite(g);
readln(f,n);
if n=1 then begin
writeln(g,'1');
writeln(g,'1 1');
end
else if n=2 then begin
writeln(g,'1');
writeln(g,'1 1');
end
else if n=3 then begin
writeln(g,'2');
writeln(g,'1 1');
writeln(g,'2 3');
end
else if n=4 then begin
writeln(g,'3');
writeln(g,'1 1');
writeln(g,'3 2');
writeln(g,'2 4');
end
else begin
p:=1;
if (n mod 12) in [3,9] then ok:=true else ok:=false;
if ok then i:=4 else i:=2;
while i<=n do begin
a[p]:=i;
inc(i,2);
inc(p);
end;
if ok then begin a[p]:=2;inc(p); end;
impar:=p;
i:=1;
while i<=n do begin
a[p]:=i;
inc(i,2);
inc(p);
end;
if n mod 12=8 then begin
i:=impar;
while i<=n do begin
aux:=a[i];a[i]:=a[i+1];a[i+1]:=aux;
inc(i,2)
end;
end;
if n mod 12=2 then begin
i:=impar;
aux:=a[i];a[i]:=a[i+1];a[i+1]:=a[i];
for j:=i+2 to p-1 do a[j]:=a[j+1];
a[p-1]:=5;
end;
if (n mod 12=3) or (n mod 12=9) then begin
i:=impar;x:=a[i];y:=a[i+1];
for j:=i to p-2 do a[j]:=a[j+2];
a[p-2]:=x;
a[p-1]:=y;
end;
writeln(g,n);
for i:=1 to n do
writeln(g,i,' ',a[i]);
end;
close(f);
close(g);
end.