Cod sursa(job #668894)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 25 ianuarie 2012 20:19:59
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
#define NMAX 91
long long rez=0,x1,x2,y1,y2,fibo[NMAX],min,max;
int main()
{
	freopen("fibo3.in","r",stdin);
	freopen("fibo3.out","w",stdout);
    int n,i,j;
    fibo[0]=1;
    fibo[1]=2;
    for (i=2; i<NMAX; i++)
        fibo[i]=fibo[i-1]+fibo[i-2];
    scanf("%d",&n);
    for(j=0;j<n;j++)
    {
		rez=0;
        scanf("%lld %lld %lld %lld",&x1,&y1,&x2,&y2);
        for (i=0;i<NMAX;i++)
        {
            if (fibo[i]>x2+y2) break;
            if (fibo[i]<x1+y1) continue;
            max=x1;min=x2;
            if (fibo[i]-y2>max)
                max=fibo[i]-y2;
            if (fibo[i]-y1<min)
                min=fibo[i]-y1;
            rez+=min-max+1;
        }
        printf("%lld\n",rez);
    }
    return 0;
}