Pagini recente » Cod sursa (job #165946) | Cod sursa (job #456838) | Cod sursa (job #2182021) | Istoria paginii utilizator/downhill | Cod sursa (job #466444)
Cod sursa(job #466444)
#include <iostream>
using namespace std;
#define maxc 100000000
int N, nr;
long long A[100];
void genfibo() {
A[1] = 1; A[2] = 1; nr = 2;
for(int i=3; i<100; i++) {
nr++;
A[i] = A[i-1] + A[i-2];
}
}
int main() {
FILE *f1=fopen("fibo3.in", "r"), *f2=fopen("fibo3.out", "w");
int i, j;
long long x, y, x1, x2, y1, y2;
genfibo();
fscanf(f1, "%d\n", &N);
while(N--) {
long long sum = 0;
fscanf(f1, "%lld %lld %lld %lld\n", &x1, &y1, &x2, &y2);
//pe verticala
for(i=2; i<=nr; i++) {
y = A[i] - x1;
if(y1 <= y && y < y2) {
sum += min(x2 - x1 + 1, y - y1 + 1);
}
}
//pe orizontala
for(i=2; i<=nr; i++) {
x = A[i] - y2;
if(x1 <= x && x <= x2) {
sum += min(x2 - x + 1, y2 - y1 + 1);
}
}
fprintf(f2, "%lld\n", sum);
}
fclose(f1); fclose(f2);
return 0;
}