Cod sursa(job #118212)

Utilizator filipbFilip Cristian Buruiana filipb Data 23 decembrie 2007 17:25:23
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.27 kb
#include <stdio.h>

int N;

int main(void)
{
    int i;
    
    freopen("multimi2.in", "r", stdin);
    freopen("multimi2.out", "w", stdout);

    scanf("%d", &N);
    if (N % 4 == 0)
    {
        printf("0\n%d\n", N/2);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+2, 4*i+3);
        printf("\n%d\n", N/2);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+1, 4*i+4);
        printf("\n");
    }
    else if (N % 4 == 1)
    {
        printf("1\n%d\n1 ", N/2+1);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+2, 4*i+5);
        printf("\n%d\n", N/2);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+3, 4*i+4);
    }
    else if (N % 4 == 2)
    {
        printf("1\n%d\n1 ", N/2);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+3, 4*i+6);
        printf("\n%d\n2 ", N/2);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+4, 4*i+5);
    }
    else if (N % 4 == 3)
    {
        printf("0\n%d\n1 2 ", N/2+1);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+4, 4*i+7);
        printf("\n%d\n3 ", N/2);
        for (i = 0; i < N/4; i++)
            printf("%d %d ", 4*i+5, 4*i+6);
    }
    
    return 0;
}