Cod sursa(job #474314)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 3 august 2010 13:15:17
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <cstring>
using namespace std;
unsigned long long minim(unsigned long long a,unsigned long long b)
{
    if(a<b) return a; else return b;
}

unsigned long long x,fibo[90],suma,x1,x2,y2,y1,i,j,m,n;
int main()
{
    ifstream fi("fibo3.in");
    ofstream fo("fibo3.out");
    m=2;
    fibo[1]=1;
    fibo[2]=2;
    while(fibo[m-1]+fibo[m]<2000000000000001LL)
    {
        x=fibo[m-1]+fibo[m];
        fibo[++m]=x;
    }
    fi>>n;
    for(i=1;i<=n;i++)
    {
        fi>>x1>>y1>>x2>>y2;
        suma=0;
        for(j=1;j<=m and fibo[j]<=x2+y2;j++)
        if(fibo[j]>=x1+y1)
        {
            if(fibo[j]<=x1+y2)
            suma+=minim(fibo[j]-x1-y1+1,x2-x1+1); else
            suma+=minim(y2-y1+1,x2-fibo[j]+y2+1);
        }
        fo<<suma<<"\n";

    }
    fo.close();

    return 0;
}