Pagini recente » Cod sursa (job #1957206) | Cod sursa (job #2533329) | Cod sursa (job #1744107) | Cod sursa (job #418350) | Cod sursa (job #1450217)
#include <fstream>
#define NMAX 1000005
using namespace std;
ifstream f("multimi2.in");
ofstream g("multimi2.out");
int sol[NMAX] , n , nr1 , nr2;
int main()
{
f >> n ;
if(n % 4 == 0){
g << 0 << '\n' ;
for(int i = 1 ; i <= n / 2 ; ++i){
if(i % 2 == 1){
sol[i] = sol[n - i + 1] = 1 ;
nr1+=2;
}
else{
sol[i] = sol[n - i + 1] = 2 ;
nr2+=2;
}
}
g << nr1 << '\n';
for(int i = 1 ; i <= n ; ++i){
if(sol[i] == 1){
g << i << " " ;
}
}
g << '\n' << nr2 << '\n';
for(int i = 1 ; i <= n ; ++i){
if(sol[i] == 2){
g << i << " ";
}
}
return 0 ;
}
if(n % 4 == 1){
g << 1 << '\n' ;
--n;
sol[0] = 1 , nr1 = 1 ;
for(int i = 1 ; i <= n / 2 ; ++i){
if(i % 2 == 1){
sol[i] = sol[n - i + 1] = 1 ;
nr1+=2;
}
else{
sol[i] = sol[n - i + 1] = 2 ;
nr2+=2;
}
}
g << nr1 << '\n';
for(int i = 0 ; i <= n ; ++i){
if(sol[i] == 1){
g << i + 1 << " " ;
}
}
g << '\n' << nr2 << '\n';
for(int i = 0 ; i <= n ; ++i){
if(sol[i] == 2){
g << i + 1 << " ";
}
}
return 0 ;
}
if(n % 4 == 2){
g << 1 << '\n' ;
int i ;
for(i = 1 ; i < n / 2 ; ++i){
if(i % 2 == 1){
sol[i] = sol[n - i + 1] = 1 ;
nr1+=2;
}
else{
sol[i] = sol[n - i + 1] = 2 ;
nr2+=2;
}
}
if(i % 2 == 1){
sol[i] = 1 , sol[i + 1] = 2;
}
else{
sol[i] = 2 , sol[i + 1] = 1;
}
++nr1 , ++nr2;
g << nr1 << '\n';
for(int i = 1 ; i <= n ; ++i){
if(sol[i] == 1){
g << i << " " ;
}
}
g << '\n' << nr2 << '\n';
for(int i = 1 ; i <= n ; ++i){
if(sol[i] == 2){
g << i << " ";
}
}
return 0 ;
}
if(n % 4 == 3){
g << 0 << '\n' ;
sol[0] = 1 ;
--n; nr1 = 1 ;
int i ;
for(i = 1 ; i < n / 2 ; ++i){
if(i % 2 == 1){
sol[i] = sol[n - i + 1] = 1 ;
nr1+=2;
}
else{
sol[i] = sol[n - i + 1] = 2 ;
nr2+=2;
}
}
if(i % 2 == 1){
sol[i] = 1 , sol[i + 1] = 2;
}
else{
sol[i] = 2 , sol[i + 1] = 1;
}
++nr1 , ++nr2;
g << nr1 << '\n';
for(int i = 0 ; i <= n ; ++i){
if(sol[i] == 1){
g << i + 1 << " " ;
}
}
g << '\n' << nr2 << '\n';
for(int i = 0 ; i <= n ; ++i){
if(sol[i] == 2){
g << i + 1 << " ";
}
}
return 0 ;
}
return 0;
}