Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | fibo3.in, fibo3.out | Sursă | Stelele Informaticii 2010 |
Autor | Serban Andrei Stan | Adăugată de | |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 10096 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Fibo3
Fie şirul numerelor fibonacci:
F0=1, F1=1, F2=2, F3=3, F4=5 etc.
Vom acoperi toate punctele laticiale de coordonate nenegative astfel:
- Daca pentru un punct P(x,y), x+y este un număr fibonacci, atunci lui P îi asociem valoarea 1.
- Daca pentru un punct P(x,y), x+y nu este un număr fibonacci, atunci lui P îi asociem valoarea 0.
Cerinţă
Răspundeţi la N întrebări de forma:
Dându-se un dreptunghi D(x1, y1, x2, y2), care este suma valorilor asociate punctelor din plan conţinute de dreptunghiul D?
Date de intrare
Fişierul de intrare fibo3.in conţine pe prima linie numărul N de întrebări.
Liniile de la 2 la N+1 vor conţine câte patru numere naturale reprezentând câte un dreptunghi de query.
Date de ieşire
În fişierul de ieşire fibo3.out se vor găsi N numere naturale, fiecare pe câte o linie, numărul de pe linia K fiind răspunsul la a K-a întrebare.
Restricţii
- 1 ≤ N ≤ 100 000
- 0 ≤ x1 ≤ x2 ≤ 1015
- 0 ≤ y1 ≤ y2 ≤ 1015
- Un punct P(x,y) se numeşte punct laticial, dacă x şi y sunt numere întregi.
- Pentru 30% din teste coordonatele dreptunghiurilor sunt maxim 1000.
Exemplu
fibo3.in | fibo3.out |
---|---|
2 0 0 1 1 1 0 1 2 | 3 3 |