Cod sursa(job #466248)

Utilizator marius21Petcu Marius marius21 Data 26 iunie 2010 12:30:57
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 2 Marime 0.83 kb
#include <cstdio>

FILE *fin=fopen("fibo3.in","r");
FILE *fout=fopen("fibo3.out","w");

#define NOFIBB 91

long long fibb[NOFIBB];

int main()
{
    int n;

    fibb[0]=1;
    fibb[1]=2;

    for (int i=2; i<NOFIBB; i++)
        fibb[i]=fibb[i-1]+fibb[i-2];

    fscanf(fin,"%d",&n);
    for (int t=0; t<n; t++)
    {
        long long x1,x2,y1,y2;
        fscanf(fin,"%lld %lld %lld %lld",&x1,&y1,&x2,&y2);
        long long sum=0;
        for (int i=0; i<NOFIBB; i++)
        {
            if (fibb[i]>x2+y2) break;
            if (fibb[i]<x1+y1) continue;
            long long max=x1,min=x2;
            if (fibb[i]-y2>max)
                max=fibb[i]-y2;
            if (fibb[i]-y1<min)
                min=fibb[i]-y1;
            sum+=min-max+1;
        }
        fprintf(fout,"%lld\n",sum);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}