Pagini recente » Cod sursa (job #1856857) | Cod sursa (job #963494) | Cod sursa (job #2026635) | Cod sursa (job #1843349) | Cod sursa (job #155694)
Cod sursa(job #155694)
#include <stdio.h>
int main(){
int i,v[500002]={0},w[500002]={0},x,y,n,j;
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
x=n/4;
y=n%4;
// printf("%d %d\n",x,y);
for(i=y+1,j=1;j<=x;i++,j++)
v[++v[0]]=i;
for(i=x+y+1,j=1;j<=2*x;j++,i++)
w[++w[0]]=i;
for(i=y+1+3*x,j=1;j<=x;j++,i++)
v[++v[0]]=i;
switch (y){
case 0: {
printf("0\n");
printf("%d\n",v[0]);
for(i=1;i<=v[0];i++)
printf("%d ",v[i]);
printf("\n%d\n",w[0]);
for(i=1;i<=w[0];i++)
printf("%d ",w[i]);
break; }
case 1: {
printf("1\n");
printf("%d\n1 ",v[0]+1);
for(i=1;i<=v[0];i++)
printf("%d ",v[i]);
printf("\n%d\n",w[0]);
for(i=1;i<=w[0];i++)
printf("%d ",w[i]);
break; }
case 2: {
printf("1\n");break;
printf("%d\n1 ",v[0]+1);
for(i=1;i<=v[0];i++)
printf("%d ",v[i]);
printf("\n%d\n2 ",w[0]+1);
for(i=1;i<=w[0];i++)
printf("%d ",w[i]);
break; }
case 3:{
printf("0\n");
printf("%d\n1 2 ",v[0]+2);
for(i=1;i<=v[0];i++)
printf("%d ",v[i]);
printf("\n%d\n3 ",w[0]+1);
for(i=1;i<=w[0];i++)
printf("%d ",w[i]);
break; }
}
return 0;
fclose(stdout);
}