Pagini recente » Cod sursa (job #602323) | Cod sursa (job #338810) | Cod sursa (job #1393823) | Cod sursa (job #519506) | Cod sursa (job #48534)
Cod sursa(job #48534)
var a:array[0..1000] of longint;
f,g:text;
n,i,q:longint;
begin
assign(f,'dame.in'); reset(f);
assign(g,'dame.out'); rewrite(g);
read(f,n);
a[0]:=n div 2;
for i:=1 to n div 2 do
a[i]:=i*2;
if (n mod 12=3) or (n mod 12=9) then begin
for i:=1 to n div 2-1 do
a[i]:=a[i+1];
a[n div 2]:=2;
end;
i:=1;
while i<=n do begin
inc(a[0]);
a[a[0]]:=i;
i:=i+2;
end;
if n mod 12=8 then begin
for i:=n div 2+1 to n do
if (i-(n div 2)) mod 2=1 then begin
q:=a[i];
a[i]:=a[i+1];
a[i+1]:=q;
end;
end;
if n mod 12=2 then begin
a[n div 2+1]:=3;
a[n div 2+2]:=1;
for i:=n div 2+3 to n do
a[i]:=a[i+1];
a[n]:=5;
end;
if (n mod 12=3) or (n mod 12=9) then begin
for i:=n div 2+1 to n-2 do
a[i]:=a[i+2];
a[n-1]:=1;
a[n]:=3;
end;
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,'3 2');
end
else begin
writeln(g,n);
for i:=1 to n do
writeln(g,i,' ',a[i]);
end;
closE(f);
close(g);
end.