Pagini recente » Cod sursa (job #3234658) | Cod sursa (job #94905) | Cod sursa (job #122075) | Cod sursa (job #1441198) | Cod sursa (job #123287)
Cod sursa(job #123287)
const max=1000000;
var f,g:text;
y,n,poz,i,nrtrue:longint;
a:array[1..max] 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);
case 1+n mod 4 of
1: 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;
2: 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;
3: 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;
4: 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.