Pagini recente » Cod sursa (job #1989478) | Cod sursa (job #57458) | Cod sursa (job #2694322) | Cod sursa (job #519583) | Cod sursa (job #2027055)
#include <iostream>
#include <fstream>
using namespace std;
long long F[105],l,r,X1,X2,Y1,Y2,ans;
int i,n,t;
long long solve(long long A,long long B)
{
if(A<0||B<0) return 0;
l=max(F[i]-A,0LL);r=min(F[i],B);
return (1LL*r-l+1);
}
int main()
{
ifstream f("fibo3.in");
ofstream g("fibo3.out");
f>>t;
F[1]=F[2]=1;n=92;
for(i=3;i<=n;i++)
F[i]=(1LL*F[i-1]+F[i-2]);
for(int cnt=1;cnt<=t;cnt++)
{
f>>X1>>Y1>>X2>>Y2;ans=0;
for(i=2;i<=n&&F[i]<=X2+Y2;i++)
{
ans+=(solve(X2,Y2)-solve(X2,Y1-1)-solve(X1-1,Y2)+solve(X1-1,Y1-1));
}
g<<ans<<'\n';
}
return 0;
}