Cod sursa(job #513271)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 15 decembrie 2010 16:29:21
Problema Fibo3 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>

FILE*f=fopen("fibo3.in","r");
FILE*g=fopen("fibo3.out","w");

int i,T;
long long F[100],x1,x2,y1,y2,rez;

int min ( int a, int b) {
	if ( a < b )
		return a;
	return b;
}

int main () {
	
	F[1] = F[2] = 1;
	long long aux = 1LL << 62;
	for ( i = 3 ; F[i-1] <= aux ; ++i )
		F[i] = F[i-1] + F[i-2];
	fscanf(f,"%d",&T);
	
	while( T-- ){
		fscanf(f,"%lld %lld %lld %lld",&x1,&y1,&x2,&y2);
		rez = 0;
		for ( i = 2 ; F[i] <= x2 + y2  ; ++i ){
			if ( F[i] >= x1 + y1 ) {
				if ( F[i] <= x1 + y2 )
					rez += min(F[i] - x1 - y1 + 1,x2-x1+1);
				else
					rez += min( y2 - y1 + 1, x2 + y2 - F[i] + 1);
				
				
			}
			
		}
		fprintf(g,"%lld\n",rez);
		
	}
	
	
	fclose(f);
	fclose(g);
	
	return 0;
}