Fie două şiruri şi de lungimi şi cu numere naturale mai mici sau egale decât . Un entanglement al celor două şiruri este o matrice de dimensiuni unde pentru toate perechile valoarea este egală fie cu fie cu .
Dându-se o matrice , câte perechi de şiruri există pentru care este un entanglement al celor două şiruri?
Cerinţă
Să se scrie un program care, pentru , , şi matricea cunoscute, determină:
- dacă matricea poate fi un entanglement a două şiruri;
- numărul de perechi de şiruri pentru care matricea reprezintă un entanglement.
Date de intrare
Fişierul de intrare entanglement.in
conţine pe prima linie numerele , , şi , iar pe următoarele linii câte numere naturale reprezentând elementele din matricea .
Dacă atunci se va stabili dacă matricea poate fi un entanglement, iar dacă atunci se va determina numărul de perechi de şiruri pentru care reprezintă un entanglement.
Date de ieșire
Dacă , fişierul de ieşire entanglement.out
va conţine cuvântul “DA” dacă poate fi un entanglement sau cuvântul “NU” în caz contrar.
Dacă , fişierul de ieşire entanglement.out
va conţine un singur număr reprezentând restul modulo al numărului de perechi de şiruri pentru care matricea reprezintă un entanglement.
Restricții și precizări
- Pentru teste în valoare de de puncte .
- Pentru teste în valoare de de puncte şi .
- Pentru restul testelor, în valoare de de puncte, .
Exemplul 1
entanglement.in
1 2 2 2
1 1
1 2
entanglement.out
DA
Explicație
O posibilă soluţie este = {} şi = {}.
Exemplul 2
entanglement.in
2 2 2 2
1 1
1 2
entanglement.out
5
Explicație
Cele soluţii sunt: