Pagini recente » Cod sursa (job #2301833) | Cod sursa (job #2523144) | Cod sursa (job #73862) | Cod sursa (job #1312745) | Cod sursa (job #480038)
Cod sursa(job #480038)
#include <cstdio>
#define file_in "fibo3.in"
#define file_out "fibo3.out"
#define ll long long
int T;
ll x1,x2,y1,y2;
ll fib[100];
void citire(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &T);
}
inline ll min(ll a, ll b) { return a<b?a:b; }
inline ll max(ll a, ll b) { return a>b?a:b; }
void solve(){
int i,j;
fib[1]=1;
fib[2]=2;
for (i=3;i<=75;++i)
fib[i]=fib[i-1]+fib[i-2];
while(T--)
{
scanf("%lld %lld %lld %lld", &x1, &y1, &x2, &y2);
ll nr=0;
for (j=1;j<=75;++j)
{
if (fib[j]<x1+y1) continue;
if (fib[j]>x2+y2) break;
ll xmin=max(x1,fib[j]-y2);
ll xmax=min(x2,fib[j]-y1);
nr+=xmax-xmin+1;
}
printf("%lld\n", nr);
}
}
int main(){
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}