Pagini recente » Cod sursa (job #291953) | Cod sursa (job #1180926) | Cod sursa (job #1843525) | Cod sursa (job #3212884) | Cod sursa (job #513259)
Cod sursa(job #513259)
#include<stdio.h>
FILE*f=fopen("fibo3.in","r");
FILE*g=fopen("fibo3.out","w");
int i,rez,x1,x2,y1,y2,k,T;
long long F[100];
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];
k = i - 1;
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,"%d\n",rez);
}
fclose(f);
fclose(g);
return 0;
}