Cod sursa(job #324996)
Utilizator | Data | 18 iunie 2009 14:53:17 | |
---|---|---|---|
Problema | Multimi2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 3.45 kb |
#include<stdio.h>
int n,i,j,card1,card2;
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
if(n%2==0&&(n/2)%2==0) { printf("0\n%d\n",n/2);
for(i=1;i<=n;i++) { if(i<=n/2&&i%2) printf("%d ",i);
if(i>n/2&&i%2==0)printf("%d ",i);
}
printf("\n%d\n",n/2);
for(i=1;i<=n;i++) { if(i<=n/2&&i%2==0) printf("%d ",i);
if(i>=n/2&&i%2)printf("%d ",i);
}
}
else if(n%2==0&&(n/2)%2!=0) { printf("1\n%d\n",n/2);
for(i=1;i<=n;i++) { if(i<n/2&&i%2&&i!=n/2+1&&i!=n/2) printf("%d ",i);
if(i>n/2&&i%2==0&&i!=n/2+1&&i!=n/2)printf("%d ",i);
}
printf("%d",n/2);
printf("\n%d\n",n/2);
for(i=1;i<=n;i++) { if(i<n/2&&i%2==0&&i!=n/2+1&&i!=n/2) printf("%d ",i);
if(i>n/2&&i%2&&i!=n/2+1&&i!=n/2)printf("%d ",i);
}
printf("%d",n/2+1);
}
else if(n%2!=0&&(n/2)%2!=0) { printf("0\n%d\n",n/2+1);
printf("1 %d ",n-1);
for(i=2;i<=n-2;i++) { if(i<n/2&&i%2==0) printf("%d ",i);
if(i>n/2&&i%2)printf("%d ",i);
}
printf("\n%d\n",n/2);
for(i=2;i<=n-2;i++){ if(i<=n/2&&i%2) printf("%d ",i);
if(i>n/2&&i%2==0)printf("%d ",i);
}
printf("%d",n);
}
else if(n%2!=0&&(n/2)%2==0) { printf("1\n%d\n",n/2+1);
printf("1 %d ",n-1);
for(i=2;i<=n-2;i++) { if(i<=n/2&&i%2==0) printf("%d ",i);
if(i>n/2&&i%2&&i!=n/2+1)printf("%d ",i);
}
printf("\n%d\n",n/2);
for(i=2;i<=n-2;i++) { if(i<=n/2+1&&i%2) printf("%d ",i);
if(i>n/2&&i%2==0)printf("%d ",i);
}
printf("%d",n);
}
fclose(stdin);
fclose(stdout);
return 0;
}