Pagini recente » Autentificare | Cod sursa (job #2133574) | Cod sursa (job #1820532) | Cod sursa (job #1573168) | Cod sursa (job #482835)
Cod sursa(job #482835)
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned long long int64;
#define MAXF 90
FILE* fin = fopen("fibo3.in", "r");
FILE* fout = fopen("fibo3.out", "w");
int64 fibo[MAXF];
inline void doTest(){
int64 x1, y1, x2, y2, res = 0LL;
fscanf(fin, "%llu %llu %llu %llu\n", &x1, &y1, &x2, &y2);
for(int i = 0; i < MAXF; ++i){
if(x1 + y1 <= fibo[i] && fibo[i] <= x2 + y2){
res += min(x2, fibo[i] - y1) - max(x1, fibo[i] - y2) + 1LL;
}
}
fprintf(fout, "%lld\n", res);
}
int main(){
fibo[0] = 1;
for(int64 a = 1, b = 1, c, i = 1; i <= MAXF; ++i){
fibo[i] = c = a + b;
a = b;
b = c;
}
int n;
fscanf(fin, "%d\n", &n);
for(int i = 0; i < n; ++i){
doTest();
}
fclose(fin);
fclose(fout);
return EXIT_SUCCESS;
}