Cod sursa(job #467538)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 29 iunie 2010 12:32:29
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>

using namespace std;

#define maxn 80

long n, i, j, k;
long long f[maxn], sol, lx, ly, x1, y1, x2, y2;

int main()
{
    freopen("fibo3.in", "r", stdin);
    freopen("fibo3.out", "w", stdout);
    scanf("%d", &n);
    f[0]=f[1]=1;
    for(i=2; i<=75; i++)
        f[i]=f[i-1]+f[i-2];
    while(n--)
    {
        sol=0;
        scanf("%lld%lld%lld%lld", &x1, &y1, &x2, &y2);
        if(x2-x1<y2-y1)
        {
            lx=x2-x1;
            ly=y2-y1;
            x2=x1+ly;
            y2=y1+lx;
        }
        for(i=1; f[i]<x1+y1; i++);
        for(; f[i]<=x1+y2; i++)
            sol+=f[i]-x1-y1+1;
        for(; f[i]<=x2+y1; i++)
            sol+=y2-y1+1;
        for(; f[i]<=x2+y2; i++)
            sol+=x2+y2-f[i]+1;
        printf("%lld\n", sol);
    }
    return 0;
}