Pagini recente » Cod sursa (job #3152696) | Cod sursa (job #2253166) | Cod sursa (job #948775) | Cod sursa (job #2737323) | Cod sursa (job #22062)
Cod sursa(job #22062)
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 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-1]:=x;
a[p-0]:=y;
end;
writeln(g,n);
for i:=1 to n do
writeln(g,i,' ',a[i]);
end;
close(f);
close(g);
end.