Cod sursa(job #262124)

Utilizator funkydvdIancu David Traian funkydvd Data 19 februarie 2009 00:08:57
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include<stdio.h>
int main()
{
 int t,n,i,s,l;
 freopen ("multimi2.in", "r", stdin);
 freopen ("multimi2.out", "w", stdout);
 scanf ("%d", &n);
 l=n%4;
 if (l==0)
   {printf ("%d\n", l);
    printf ("%d\n", n/2);
    for (i=1; i<=n; i++) if (i%4<=1) printf ("%d ", i);
    printf ("\n");
    printf ("%d\n", n/2);
    for (i=1; i<=n; i++) if (i%4>=2) printf ("%d ", i);
   }
 if (l==1)
    {printf ("%d\n", l);
     printf ("%d\n", n/2);
     for (i=2; i<=n; i++) if (i%4==1 || i%4==2) printf ("%d ", i);
     printf ("\n");
     printf ("%d\n", n/2+1);
     for (i=2; i<=n; i++) if (i%4==0 || i%4==3) printf ("%d ", i);
     printf ("%d\n", 1);
   }
  if (l==2)
    {printf ("%d\n", l-1);
     printf ("%d\n", n/2);
     for (i=3; i<=n; i++) if (i%4<=1) printf ("%d ", i);
     printf ("%d\n", 1);
     printf ("%d\n", n/2);
     for (i=3; i<=n; i++) if (i%4>=2) printf ("%d ", i);
     printf ("%d\n", 2);
    }
  if (l==3)
    {printf ("%d\n", l-3);
     printf ("%d\n", n/2+1);
     for (i=4; i<=n; i++) if (i%4==1 || i%4==2) printf ("%d ", i);
     printf ("%d ", l-2);
     printf ("%d\n", l-1);
     printf ("%d\n", n/2);
     for (i=4; i<=n; i++) if (i%4==0 || i%4==3) printf ("%d ", i);
     printf ("%d\n", l);
   }
 return 0;
}