Cod sursa(job #304558)

Utilizator bugyBogdan Vlad bugy Data 13 aprilie 2009 21:29:35
Problema Multimi2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.38 kb
#include<iostream>               
#include<stdio.h>    
short int a[50000],b[50000];   
using namespace std;               
 int main()               
 {                
    FILE *f=fopen("multimi2.in","r"), *g=fopen("multimi2.out","w");               
   unsigned int i,n,ok,nr=0;               
    fscanf(f,"%u",&n);   
    if(n%2==0)   
    {   fprintf(g,"1\n");
	       nr=n/2;
	    fprintf(g,"%d\n",nr);		
		  
	i=n;fprintf(g,"%u ",i);ok=1;
    while(i>1)
		if(ok==1) {i=i-3; if(i>0) fprintf(g,"%u ",i);ok=2;}
		else if(ok==2) {i=i-1;if(i>0) fprintf(g,"%u ",i);ok=1;}
	fprintf(g,"\n");
	fprintf(g,"%d\n",nr);	 
		i=n-1;fprintf(g,"%u ",i);ok=1;
    while(i>1)
		if(ok==1) {i=i-1; if(i>0) fprintf(g,"%u ",i);ok=2;}
		else if(ok==2) {i=i-3;if(i>0) fprintf(g,"%u ",i);ok=1;}
	}
	else 
	 {   fprintf(g,"0\n"); 
	       nr=(n-1)/2;
	    fprintf(g,"%d\n",nr);		
		   
	i=n;fprintf(g,"%u ",i);ok=1;
    while(i>1)
		if(ok==1) {i=i-3; if(i>0) fprintf(g,"%u ",i);ok=2;}
		else if(ok==2) {i=i-1;if(i>0) fprintf(g,"%u ",i);ok=1;}
	fprintf(g,"\n");
	fprintf(g,"%d\n",nr+1);	
		i=n-1;fprintf(g,"%u ",i);ok=1;
    while(i>1)
		if(ok==1) {i=i-1; if(i>0) fprintf(g,"%u ",i);ok=2;}
		else if(ok==2) {i=i-3;if(i>0) fprintf(g,"%u ",i);ok=1;}
	}

	fprintf(g,"\n");      
    
fclose(f);               
fclose(g);               
 return 0;               
                
}