Cod sursa(job #110183)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 25 noiembrie 2007 20:01:45
Problema Multimi2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.41 kb
#include<stdio.h>
long int n,i;
int main()
{	FILE *f=fopen("multimi2.in","r"), *g=fopen("multimi2.out","w");
	fscanf(f,"%ld",&n);
	if(n%2==0) if(n%4==0){  fprintf(g,"0\n");
							fprintf(g,"%ld\n",n/2);
							for(i=4;i<=n;i+=4) fprintf(g,"%ld %ld ",i-3,i); fprintf(g,"\n");
							fprintf(g,"%ld\n",n/2);
							for(i=4;i<=n;i+=4) fprintf(g,"%ld %ld ",i-2,i-1); fprintf(g,"\n");
						}
				else {  fprintf(g,"1\n");
						fprintf(g,"%ld\n",n/2);
						for(i=4;i<=n-2;i+=4) fprintf(g,"%ld %ld ",i-3,i);
						fprintf(g,"%ld\n",n-1);
						fprintf(g,"%ld\n",n/2);
						for(i=4;i<=n-2;i+=4) fprintf(g,"%ld %ld ",i-2,i-1);
						fprintf(g,"%ld\n",n);
					}
	else if((n-1)%4==0){	fprintf(g,"1\n");
							fprintf(g,"%ld\n",n/2+1);
							for(i=1;i<=n/2;i+=2) fprintf(g,"%ld ",i);
							fprintf(g,"%ld ",n/2);
							for(i=n/2+2;i<=n;i+=2) fprintf(g,"%ld ",i); fprintf(g,"\n");
							fprintf(g,"%ld\n",n/2);
							for(i=2;i<=n/2;i+=2) fprintf(g,"%ld ",i); 
							for(i=n/2+1;i<=n;i+=2) fprintf(g,"%ld ",i);
							fprintf(g,"\n");
						}
				else {	fprintf(g,"0\n");
						fprintf(g,"%ld\n",n/2+1);
						for(i=1;i<=n/2;i+=2) fprintf(g,"%ld ",i);
						for(i=n/2+1;i<=n;i+=2) fprintf(g,"%ld ",i); fprintf(g,"\n");
						fprintf(g,"%ld\n",n/2);
						for(i=2;i<=n/2;i+=2) fprintf(g,"%ld ",i); 
						for(i=n/2+2;i<=n;i+=2) fprintf(g,"%ld ",i);
						fprintf(g,"\n");	
					}
	fcloseall();
	return 0;
}