Fişierul intrare/ieşire:poli.in, poli.outSursăLot Orastie 2004
AutorEmanuela CerchezAdăugată defanache99Constantin-Buliga Stefan fanache99
Timp execuţie pe test0.1 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Poli

Un poliomino este o figură geometrică conexă formată din pătrate de arie 1 cu vârfurile în puncte de coordonate întregi. Evident, pătratele au laturile paralele cu axele de coordonate. Două pătrate se numesc adiacente dacă au o latură comună. O figură este conexă dacă din orice pătrat al figurii se poate ajunge în orice alt pătrat, trecând printr-o succesiune de pătrate în care oricare două pătrate consecutive sunt adiacente.
Două poliominouri sunt considerate identice dacă unul poate fi obţinut din celălalt printr-o translaţie.
O latură orizontală a unui poliomino este formată dintr-o succesiune de pătrate de arie 1 ale poliominoului, astfel încât oricare două pătrate consecutive au o latură verticală comună.
Un poliomino este orizontal-convex dacă orice linie orizontală (dreapta paralelă cu axa Ox) intersectează o singură latură orizontală a poliominoului sau niciuna.
De exemplu, poliominoul din Figura 1 este orizontal convex, dar poliominoul din Figura 2 nu este orizontal convex.

Scrieţi un program care să determine numărul de poliominouri orizontal convexe de arie n.

Date de intrare

Fişierul de intrare poli.in conţine o singură linie pe care se află un număr natural nenul n.

Date de ieşire

Fişierul de ieşire poli.outconţine o singură linie pe care se află numărul de poliominouri orizontal convexe de arie n.

Restricţii

  • 0 < n ≤ 1000

Exemplu

poli.inpoli.out
3
6
poli.inpoli.out
9
6466
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?