Pagini recente » Cod sursa (job #749221) | Cod sursa (job #1917225) | Cod sursa (job #572395) | Cod sursa (job #966180) | Cod sursa (job #123288)
Cod sursa(job #123288)
const max=1000000;
var f,g:text;
y,n,poz,i,nrtrue:longint;
a:array[1..1000000] of boolean;
gaus,x:real;
begin
assign(f,'multimi2.in'); reset(f);
assign(g,'multimi2.out'); rewrite(g);
readln(f,n);
fillchar(a,sizeof(a),false);
if 1+n mod 4=1 then begin
i:=1;
while i <= n div 2 - 1 do begin
a[i]:=true;
a[n-i+1]:=true;
i:=i+2;
end;
writeln(g,'0');
writeln(g,n div 2);
for i := 1 to n do
if a[i]=true then write(g,i,' ');
writeln(g,n div 2);
for i := 1 to n do
if a[i]=false then write(g,i,' ');
end else
if 1+n mod 4=2 then begin
a[1]:=true;
i:=2;
while i <=n div 2 do begin
a[i]:=true;
a[n-i+2]:=true;
i:=i+2;
end;
writeln(g,'1');
writeln(g,n div 2 +1);
for i := 1 to n do
if a[i] = true then write(g,i,' ');
writeln(g,n div 2);
for i := 1 to n do
if a[i] = false then write(g,i,' ');
end else
if 1+n mod 4=3 then begin
a[1]:=true;
i:=3;
while i<= n div 2 do begin
a[i]:=true;
a[n-i+3]:=true;
i:=i+2;
end;
writeln(g,'1');
writeln(g,n div 2);
for i := 1 to n do
if a[i]=true then write(g,i,' ');
writeln(g,n div 2);
for i := 1 to n do
if a[i]=false then write(g,i,' ');
end else
if 1+n mod 4=4 then begin
a[1]:=true; a[2]:=true;
i:=4;
while i <=n div 2 +1 do begin
a[i]:=true;
a[n-i+4]:=true;
i:=i+2;
end;
writeln(g,'0');
writeln(g,n div 2 +1);
for i:= 1 to n do
if a[i] = true then write(g,i,' ');
writeln(g,n div 2);
for i := 1 to n do
if a[i] = false then write(g,i,' ');
end;
end;
close(f);
close(g);
end.