Pagini recente » Cod sursa (job #1681487) | Cod sursa (job #1897980) | Cod sursa (job #1617685) | Cod sursa (job #2434940) | Cod sursa (job #1790053)
#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;
}