Pagini recente » Cod sursa (job #1434344) | Statistici Noone (obliterator) | Cod sursa (job #3042375) | Cod sursa (job #1256190) | Cod sursa (job #2027058)
#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);
if(l>r)
return 0;
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+=1LL*(solve(X2,Y2)-solve(X2,Y1-1)-solve(X1-1,Y2)+solve(X1-1,Y1-1));
}
g<<ans<<'\n';
}
return 0;
}