Cod sursa(job #137532)

Utilizator bazubBazu Bogdan bazub Data 17 februarie 2008 12:34:53
Problema Lampa Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasa a 9-a Marime 0.92 kb
#include<fstream.h>
long fib[26],i,n,m,ok,k,d,da,j;
float l;
char o[3027200];
int main(){
	ifstream fin("lampa.in");
	ofstream fout("lampa.out");
	fin>>n>>m;
	fin.getline(o,3027200);
	fin.getline(o,3027200);
	fib[1]=fib[2]=1;
	for(i=3;i<=n;i++)
		fib[i]=fib[i-1]+fib[i-2];
	for(i=1;ok==0;i++){
		d=i*fib[n-1];
		d=m-d;
		k=(int)d/fib[n-2];
      l=(float)(m-i*fib[n-1])/fib[n-2];
      if(k==l){
         da=0;
         if(n%2==0){   
				for(j=0;j<=i;j++)
					if(o[j]!=o[i+k+j-2])
						da=1;
				if(!da){
					for(j=0;j<i;j++)
						fout<<o[j];
					fout<<'\n';
					for(j=i;j<=k+i;j++)
						fout<<o[j];
				}
			}
			else{
				for(j=i+1;j<i+k;j++)
					if(o[j]!=o[k+j-1])
						da=1;
				if(!da){
					for(j=0;j<k;j++)
						fout<<o[j];
					fout<<'\n';
					for(j=l;j<i+k;j++)
						fout<<o[j];
				}
			}


		}
		if(i>k || da==0)
			ok=1;
	}
	if(da)
		fout<<'0';
	return 0;
}