Pagini recente » Diferente pentru info-oltenia-2018/individual intre reviziile 2 si 16 | Cod sursa (job #152667) | Cod sursa (job #963137) | Cod sursa (job #490648) | Cod sursa (job #1453742)
#include <cstdio>
#include <algorithm>
#define NMAX 107
using namespace std;
int a[NMAX];
long long x1, y1, x2, y2, Ans;
int T;
int main(){
freopen("fibo3.in", "r", stdin);
freopen("fibo3.out", "w", stdout);
scanf("%d", &T);
a[1] = a[2] = 1;
for(int i = 3; i <= 100; ++i)
a[i] = a[i - 1] + a[i - 2];
while(T){
--T;
scanf("%lld %lld %lld %lld", &x1, &y1, &x2, &y2);
Ans = 0;
for(int i = 2; i <= 100; ++i){
if(a[i] < x1 + y1)
continue;
if(a[i] > x2 + y2)
break;
Ans += min(x2, a[i] - y1) - max(x1, a[i] - y2) + 1;
}
printf("%lld\n", Ans);
}
return 0;
}