Cod sursa(job #1790053)

Utilizator TimitocArdelean Andrei Timotei Timitoc Data 27 octombrie 2016 18:45:20
Problema Fibo3 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n;
long long x1, x2, y1, y2, rez, fibo[100];

int main()
{
    freopen("fibo3.in", "r", stdin);
    freopen("fibo3.out", "w", stdout);

    scanf("%d", &n);
    fibo[0] = 1;
    fibo[1] = 1;
    for (int i = 2; i < 100; i++) fibo[i] = fibo[i-1] + fibo[i-2];
    for (int i = 1; i <= n; i++) {
        scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
        rez = 0;
        for (int j = 1; j < 100; j++) {
            if (fibo[j] < x1+y1) continue;
            if (fibo[j] > x2+y2) break;
            rez += (min(x2, fibo[j]-y1) - max(x1, fibo[j]-y2)) + 1;
        }
        printf("%lld\n", rez);
    }

    return 0;
}