Pagini recente » Cod sursa (job #1080378) | Cod sursa (job #3192965) | Cod sursa (job #468487)
Cod sursa(job #468487)
#include <cstdio>
long long x, t, a, b, c, f[100], x1, x2, y1, y2, sol, c1, c2;
int n;
int main()
{
freopen("fibo3.in","r",stdin);
freopen("fibo3.out","w",stdout);
x=(long long) 1<<55;
int i;
a=1;
b=1;
t=1;
f[1]=1;
while (b<=x)
{
c=a+b;
a=b;
b=c;
t++;
f[t]=c;
}
scanf("%d",&n);
while (n--)
{
scanf("%lld %lld %lld %lld",&x1,&y1,&x2,&y2);
sol=0;
for (i=1; i<=t; i++)
{
c2=f[i]-x1;
c1=f[i]-x2;
if (c2 < 0 && c1<0); else
{
if (c1<0) c1=0;
if (c1>y2); else
if (c2<y1); else
if (y1<=c1 && c2<=y2) sol+=c2-c1+1; else
if (y1<=c1 && c2>y2) sol+=y2-c1+1; else
if (y1>c1 && c2<=y2) sol+=c2-y1+1; else
if (y1>c1 && c2>y2) sol+=y2-y1+1;
}
}
printf("%lld\n",sol);
}
}