Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | turnuri5.in, turnuri5.out | Sursă | Grigore Moisil 2018, 11-12 |
Autor | Alex Cociorva, Bereczki Norbert Cristian, Mircea Popoveniuc | Adăugată de | |
Timp execuţie pe test | 0.4 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Turnuri5
La şcoală, Bulănel are de-a face cu următoarea problemă: i se dă o foaie ce conţine NxM puncte dispuse pe N linii şi M coloane. Liniile sunt numerotate începând de jos în sus, de la 0 la N-1, iar coloanele sunt numerotate începând de la stânga la dreapta, de la 0 la M-1.
Pe o astfel de foaie sunt marcate T turnuri. Turnurile au forma unor dreptunghiuri cu colţurile în punctele existente, cu baza pe linia 0. Fiecare turn i are câte o înălţime hi şi se întinde pe câte un interval de la li la ri pe coloane. Toate turnurile sunt disjuncte, adică nu au puncte în comun.
Bulănel îşi propune să deseneze dreptunghiuri pe foaia primită, însă acestea trebuie să fie valide. Dreptunghiurile valide trebuie să aibă arie strict mai mare decât 0, să aibă colţurile în punctele existente, să aibă laturile paralele cu marginile foii şi să nu aibă nici un punct comun cu niciunul din turnuri.
De exemplu, dacă Bulănel primeşte o foaie cu N=5 linii şi M=6 coloane şi un singur turn cu înălţime h1=2 care se întinde de la l1=2 la r1=3, atunci el poate desena dreptunghiuri cum ar fi:
* dreptunghiul care are colţul stânga sus pe linia 4, coloana 0 şi colţul dreapta jos pe linia 3, coloana 1;
* dreptunghiul care are colţul stânga sus pe linia 3, coloana 0 şi colţul dreapta jos pe linia 0, coloana 1;
În total el poate desena 33 de astfel de dreptunghiuri care respectă proprietăţile cerute.
El nu poate desena, de exemplu:
* dreptunghiul cu colţul stânga sus pe linia 4, coloana 0 şi colţul dreapta jos pe linia 1, coloana 4;
* dreptunghiul cu colţul stânga sus pe linia 4, coloana 0 şi colţul dreapta jos pe linia 2, coloana 2;
* dreptunghiul cu colţul stânga sus pe linia 4, coloana 0 şi colţul dreapta jos pe linia 2, coloana 4;
Bulănel vă cere să-l ajutaţi să numere câte dreptunghiuri valide poate desena pe foaia primită. Deoarece acest număr poate fi foarte mare, se cere sa se afişeze modulo 10{9} + 7.
Date de intrare
Fişierul de intrare turnuri5.in ...
Date de ieşire
În fişierul de ieşire turnuri5.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
turnuri5.in | turnuri5.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...