Fişierul intrare/ieşire: | diamant.in, diamant.out | Sursă | ONI 2006 |
Autor | Dan-Ionut Fechete | Adăugată de | |
Timp execuţie pe test | 0.15 sec | Limită de memorie | 20096 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Diamant
O firma produce un tip nou de diamante de forma dreptunghiulara si de calitati diferite. Pentru a calcula calitatea unui diamant firma imparte diamantul in N*M patratele formand o matrice cu N linii numerotate de la 1 la N si M coloane numerotate de la 1 la M. Patratelul de pe linia i si coloana j poate influenta calitatea diamantului in felul urmator (1≤i≤N 1≤j≤M)
- daca patratelul contine impuritati este marcat cu -1 si va diminua calitatea diamantului cu i*j
- daca patratelul este simplu este marcat cu 0 si nu schimba calitatea diamantului
- daca patratelul contine aur este marcat cu +1 si va mari calitatea diamantului cu i*j
Fiecare patratel va fi marcat cu unul dintre cele trei numere (-1, 0, +1).
Un client bogat vrea sa cumpere cat mai multe diamante diferite, de aceeasi calitate X. Doua diamante sunt diferite daca exista cel putin un patratel de pe o linie i si coloana j marcat diferit in cele doua diamante.
Cerinta
Ajutati firma sa poata raspunde la astfel de cereri scriind un program care pentru un anumit X gaseste numarul de diamante diferite de calitate X.
Date de intrare
Pe prima linie a fisierului de intrare diamant.in sunt scrise trei numere intregi N M X separate prin cate un spatiu reprezentand numarul de linii, numarul de coloane ale unui diamant, si respectiv calitatea ceruta.
Date de iesire
Pe prima linie din fisierul de iesire diamant.out se va afla numarul de diamante diferite cu calitatea ceruta, modulo 10000.
Restrictii
- 1 ≤ N ≤ 20
- 1 ≤ M ≤ 20
- -231+1 ≤ X ≤ 231-1
Exemplu
diamant.in | diamant.out |
---|---|
2 2 7 | 3 |
Explicatie
Matricile corespunatoare celor 3 diamante sunt:
-1 +1 +1 0 +1 +1
+1 +1 +1 +1 0 +1