Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2018-03-24 15:29:05.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:turnuri5.in, turnuri5.outSursăGrigore Moisil 2018, 11-12
AutorAlex Cociorva, Bereczki Norbert Cristian, Mircea PopoveniucAdăugată degrigore.moisilGrigore Moisil grigore.moisil
Timp execuţie pe test0.4 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/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 109 + 7.

Date de intrare

Fişierul de intrare turnuri.in conţine pe prima linie trei numere naturale N M şi T care reprezintă, N - numărul de linii, M - numărul de coloane şi T - numărul de turnuri.
Pe următoarele T linii se află turnurile. Pe linia i se găsesc trei numere naturale hi, li şi ri care reprezintă hi - înălţimea turnului, li - capătul stâng al intervalului turnului pe coloane, ri - capătul drept al intervalului turnului pe coloane.

Date de ieşire

Fişierul de ieşire turnuri.out trebuie să conţină o linie. Pe aceea linie se afla un număr natural D care reprezintă numărul de dreptunghiuri valide pe care le poate desena modulo 109 + 7.

Restricţii

  • ... ≤ ... ≤ ...

Exemplu

turnuri5.inturnuri5.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?