Cod sursa(job #109973)

Utilizator t_ralucaTrofin Raluca t_raluca Data 25 noiembrie 2007 15:01:05
Problema Multimi2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <fstream.h>

ifstream fin("multimi2.in");
ofstream fout("multimi2.out");

long int i,n,m;

int main(){
fin>>n;
fin.close();
if((n%2==1)&&( ((n*(n+1))/2)%2==0 )){
 fout<<"1"<<"\n";
 fout<<((n/2)+1)<<"\n";
 for(i=2,m=n;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
 fout<<"\n";
 fout<<n/2<<"\n";
 fout<<"3 ";
 for(i=3,m=n-1;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
}
else
if((n%2==1)&&( ((n*(n+1))/2)%2==1 )){
 fout<<"1"<<"\n";
 fout<<n/2<<"\n";
 for(i=2,m=n;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
 fout<<"\n";
 fout<<((n/2)+1)<<"\n";
 fout<<"1 ";
 for(i=3,m=n-1;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
}
else
if(n%4==0){
 fout<<"0"<<"\n";
 fout<<n/2<<"\n";
 for(i=1,m=n;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
 fout<<"\n";
 fout<<n/2<<"\n";
 for(i=2,m=n-1;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
}
else
if(n%2==0){
 fout<<"1"<<"\n";
 fout<<n/2<<"\n";
 fout<<"1 ";
 for(i=3,m=n;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
 fout<<"\n";
 fout<<n/2<<"\n";
 fout<<"2 ";
 for(i=4,m=n-1;i<m;i+=2,m-=2){
  fout<<i<<" "<<m<<" ";
 }
}
fout.close();
return 0;
}