Cod sursa(job #466444)

Utilizator sodamngoodSo Damn Good sodamngood Data 26 iunie 2010 17:31:06
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#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;
}