Cod sursa(job #466112)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 26 iunie 2010 10:25:13
Problema Fibo3 Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 2 Marime 0.7 kb
#include <stdio.h>
#define DIM 1 << 7

char F[DIM+DIM];
int A[DIM][DIM];
int N, X1, Y1, X2, Y2;

void fibonacci () {
	int v[DIM];
	v[0] = v[1] = 1; 
	F[1] = 1;
	for (int i = 2; v[i-1] < DIM+DIM; ++i) {
		v[i] = v[i-1] + v[i-2];
		F[v[i]] = 1;
	}	
}

int main () {
	
	fibonacci ();
	int i, j; 
	freopen ("fibo3.in", "r", stdin);
	freopen ("fibo3.out", "w", stdout);
	
	for (i = 0; i < DIM-1; ++i)
		for (j = 0; j < DIM-1; ++j)
			A[i][j] = F[i+j] + A[i-1][j] + A[i][j-1] - A[i-1][j-1];
	
	scanf ("%d", &N);
	for (int in = 0; in < N; ++in) {
		scanf ("%d%d%d%d", &X1, &Y1, &X2, &Y2);
		printf ("%d\n", A[X2][Y2] - A[X1-1][Y2] - A[X2][Y1-1] + A[X1-1][Y1-1]);		
	}	
	
	return 0;
}