Cod sursa(job #110454)

Utilizator tm_raduToma Radu tm_radu Data 26 noiembrie 2007 19:44:32
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.4 kb
#include <stdio.h>

int n, i, j, k;

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