Pagini recente » Cod sursa (job #2109430) | Cod sursa (job #1723325) | Cod sursa (job #1445612) | Cod sursa (job #720271) | Cod sursa (job #1387950)
#include <fstream>
#define DIM 1000000
using namespace std;
ifstream fin ("multimi2.in" );
ofstream fout("multimi2.out");
int N, i, j, k, ok, k1, k2;
int A[DIM], B[DIM], dif;
void Case_1(){
for(i = 1; i <= N / 2; i += 2){
A[++k1] = i; A[++k1] = N-i+1;
B[++k2] = i+1; B[++k2] = N-i;
}
dif = 0;
return;
}
void Case_2(){
for(i = 2; i <= N; i += 2)
A[++k1] = i;
for(i = 3; i <= N; i += 2)
B[++k2] = i;
A[++k1] = 1;
dif = 1;
return;
}
void Case_3(){
A[++k1] = 1;
B[++k2] = 2;
for(i = 3; i <= N; i += 2)
A[++k1] = i;
for(i = 4; i <= N; i += 2)
B[++k2] = i;
dif = 1;
return;
}
void Case_4(){
A[++k1] = 1;
A[++k1] = 2;
B[++k2] = 3;
for(i = 4; i <= N; i += 2)
A[++k1] = i;
for(i = 5; i <= N; i += 2)
B[++k2] = i;
dif = 0;
return;
}
void Switch(){
fin >> N;
if(N % 4 == 0)
Case_1();
else
if(N % 4 == 1)
Case_2();
else
if(N % 4 == 2)
Case_3();
else
if(N % 4 == 3)
Case_4();
return;
}
void Finish(){
fout << dif << "\n";
fout << k1 << "\n";
for(i = 1; i <= k1; i ++)
fout << A[i] << " ";
fout << "\n";
fout << k2 << "\n";
for(i = 1; i <= k2; i ++)
fout << B[i] << " ";
return;
}
int main(){
Switch();
Finish();
return 0;
}