Cod sursa(job #111306)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 29 noiembrie 2007 11:49:23
Problema Multimi2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<stdio.h>
# define v 1000001

int w[v],q[v],n;

void afisare()
{
int i;
printf("%d\n",w[0]);
for (i=1; i<=w[0]; i++)
    printf("%d ",w[i]);
printf("\n%d\n",q[0]);
for (i=1; i<=q[0]; i++)
    printf("%d ",q[i]);
printf("\n");
}

void citire()
{
freopen("multimi2.in","r",stdin);
scanf("%d", &n);
if (n%4==0)
   {
   for (int i=1; i<=n; i++)
       if (i%4==0 || i%4==3)
	  w[++w[0]]=i;
	  else q[++q[0]]=i;
   printf("0\n");
   }
else
if (n%4==1)
   {
   w[++w[0]]=1;
   for (int i=2; i<=n; i++)
       if (i%4==0 || i%4==3)
	  w[++w[0]]=i;
	  else q[++q[0]]=i;
   printf("1\n");
   }
else
if (n%4==2)
   {
   w[++w[0]]=1;
   q[++q[0]]=2;
   for (int i=3; i<=n; i++)
       if (i%4==0 || i%4==3)
	  w[++w[0]]=i;
	  else q[++q[0]]=i;
   printf("1\n");
   }
else
if (n%4==3)
   {
   w[++w[0]]=1;
   w[++w[0]]=2;
   q[++q[0]]=3;
   for (int i=4; i<=n; i++)
       if (i%4==0 || i%4==3)
	  w[++w[0]]=i;
	  else q[++q[0]]=i;
   printf("0\n");
   }
afisare();
fclose(stdin);
}

int main()
{
freopen("multimi2.out","w",stdout);
citire();
fclose(stdout);
return 0;
}