Cod sursa(job #324996)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 18 iunie 2009 14:53:17
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 3.45 kb
#include<stdio.h>

int n,i,j,card1,card2;

int main()
{ 
    freopen("multimi2.in","r",stdin);
    freopen("multimi2.out","w",stdout);
    
    scanf("%d",&n);
    
    if(n%2==0&&(n/2)%2==0) { printf("0\n%d\n",n/2);
                             for(i=1;i<=n;i++) { if(i<=n/2&&i%2) printf("%d ",i);
                                                  if(i>n/2&&i%2==0)printf("%d ",i);
                                               }   
                             printf("\n%d\n",n/2);
                             for(i=1;i<=n;i++) { if(i<=n/2&&i%2==0) printf("%d ",i);
                                                  if(i>=n/2&&i%2)printf("%d ",i);
                                               }                 
                           }
    else if(n%2==0&&(n/2)%2!=0) { printf("1\n%d\n",n/2);
                                  for(i=1;i<=n;i++) { if(i<n/2&&i%2&&i!=n/2+1&&i!=n/2) printf("%d ",i);
                                                      if(i>n/2&&i%2==0&&i!=n/2+1&&i!=n/2)printf("%d ",i);
                                                    }  
                                  printf("%d",n/2);                   
                                  printf("\n%d\n",n/2);
                                   for(i=1;i<=n;i++) { if(i<n/2&&i%2==0&&i!=n/2+1&&i!=n/2) printf("%d ",i);
                                                       if(i>n/2&&i%2&&i!=n/2+1&&i!=n/2)printf("%d ",i);
                                                     }
                                  printf("%d",n/2+1);                        
                                }    
    else if(n%2!=0&&(n/2)%2!=0) {  printf("0\n%d\n",n/2+1);
                                   printf("1 %d ",n-1);
                                   for(i=2;i<=n-2;i++) { if(i<n/2&&i%2==0) printf("%d ",i);
                                                         if(i>n/2&&i%2)printf("%d ",i);                                                                
                                                       }
                                   printf("\n%d\n",n/2);                     
                                   for(i=2;i<=n-2;i++){ if(i<=n/2&&i%2) printf("%d ",i);
                                                        if(i>n/2&&i%2==0)printf("%d ",i);
                                                      } 
                                   printf("%d",n);                          
                                 }
  else if(n%2!=0&&(n/2)%2==0)  { printf("1\n%d\n",n/2+1);
                                     printf("1 %d ",n-1);  
                                     for(i=2;i<=n-2;i++) { if(i<=n/2&&i%2==0) printf("%d ",i);
                                                           if(i>n/2&&i%2&&i!=n/2+1)printf("%d ",i);
                                                         }
                                 printf("\n%d\n",n/2);
                                     for(i=2;i<=n-2;i++) { if(i<=n/2+1&&i%2) printf("%d ",i);
                                                           if(i>n/2&&i%2==0)printf("%d ",i);
                                                         }                                  
                                 printf("%d",n);         
                                 }                          
                                                                                        
                                  
    fclose(stdin);
    fclose(stdout);
    return 0;
}