Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2019-10-23 10:25:19.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:sprei.in, sprei.outSursăIIOT 2019-20 Runda 1
AutorTulba-Lecu GabrielAdăugată deunibucPoli2019Comisia IIOT 2019-20 unibucPoli2019
Timp execuţie pe test2.5 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Sprei

Sprei

Paul are o problema mare cu gandacii in casa, el trebuie sa omoare cat mai repede toti cei N gandaci ce i-au infestat casa.

Un gandac poate fi reprezentat prin ADN-ul sau - un vector de numere naturale de lungime M cu valori de la 0 la B - 1.
Pentru a se adapta mediului, gandacii urmeaza mai multe mutatii, o mutatie luand harta ADN a unui gandac si crescand sau scazand exact o pozitie cu 1 (nu poate creste daca este B si nu poate scadea daca este 1).

Paul stie ADN-ul tuturor gandacilor si stie ca poate creea pentru un anumit ADN X un sprai care omoara toti gandacii cu ADN-ul X sau o mutatie directa de-al lui X.

Cerinta

Paul vrea sa stie care este numarul minim de sprai-uri necesare pentru a omori toti gandacii.

Date de intrare

Pe prima linie a fisierului sprei.in se dau N, M, B.
Pe urmatoarele N linii urmeaza cate M numere intre 1 si B care reprezinta ADN-ul fiecarui gandac.

Date de ieşire

Pe prima linie a fisierului sprei.out afisati numarul minim de spreiuri necesare pentru a omora toti gandacii.

Restricţii

  • 1 ≤ N ≤ 10.000
  • 1 ≤ B ≤ 109
  • 1 ≤ M ≤ 100
  • Se garanteza ca toti gandacii au ADN-uri distincte doua cate doua.
  • Din motive evolutionare, pentru 70% din teste se garanteaza ca oricum am alege un gandac cu ADN-ul X exista cel putin un alt gandac cu ADN-ul mutatie directa de-al lui X.

Exemplu

sprei.insprei.out
5 3 4
1 1 1
1 1 2
1 1 3
1 2 1
1 2 3
2

Explicaţie

Alegem doua tuburi de sprei:

  • Unul bazat pe ADN-ul 1 1 1, care poate omora gandacii 1, 2 si 4
  • Unul bazat pe ADN-ul 1 1 3, care poate omora gandacii 2, 3 si 5
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?