Fişierul intrare/ieşire: | drumuri1.in, drumuri1.out | Sursă | Lot Sovata 2014 - Baraj 1 Juniori |
Autor | Constantin Galatan | Adăugată de | |
Timp execuţie pe test | 0.125 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Drumuri1
O tablă pătratică este formată din N x N celule pătrate, identice ca dimensiune, grupate pe N linii şi N coloane numerotate de la 1 la N. Din oricare celulă aflată la linia i şi coloana j, se poate face o deplasare doar spre celula vecină (i + 1, j) sau (i, j + 1), dacă aceasta există. În interiorul a M celule ale acestei matrice s-a aşezat câte un jeton.
Numim drum pe această tablă, orice succesiune de celule parcurse conform regulii de deplasare descrisă anterior. Lungimea unui asemenea drum este egală cu numărul de celule parcurse.
Cerinţă
Cunoscând dimensiunea tablei N, numărul total de jetoane M şi două numere naturale L şi K, să se determine un număr d, reprezentând numărul de drumuri distincte modulo 31607 de lungime L care pornesc din celula (1, 1) şi care conţin fiecare câte K jetoane.
Date de intrare
Fişierul de intrare drumuri1.in conţine pe prima linie patru numere naturale N M K L separate prin câte un spaţiu, cu semnificaţia descrisă anterior.
Pe fiecare dintre următoarele M linii, se găsesc câte două numere naturale x y separate printr-un spaţiu, reprezentând linia şi coloana pe care se găseşte un jeton.
Date de ieşire
Pe prima linie a fişierului drumuri1.out se va scrie un singur număr natural d reprezentând numărul de drumuri modulo 31607 care pornesc din celula (1, 1), au lungimea L şi trec prin K celule care conţin jetoane.
Restricţii
- 1 ≤ K ≤ N ≤ 250
- 1 ≤ M ≤ 10000
- 1 ≤ L ≤ 500
- Două drumuri se consideră distincte dacă diferă prin cel puţin o celulă.
- Într-o celulă se găseşte cel mult un jeton.
Exemplu
drumuri1.in | drumuri1.out | Explicaţii |
---|---|---|
3 4 3 4 1 1 1 3 2 2 2 3 | 3 | Sunt 3 drumuri de lungime 4 care conţin 3 jetoane: (1, 1), (1, 2), (1, 3), (2, 3) (1, 1), (1, 2), (2, 2), (2, 3) (1, 1), (2, 1), (2, 2), (2, 3) |
4 5 2 4 1 2 2 1 1 3 3 2 4 3 | 5 | Sunt 5 drumuri de lungime 4 care conţin 2 jetoane: (1, 1), (1, 2), (1, 3), (1, 4) (1, 1), (1, 2), (1, 3), (2, 3) (1, 1), (1, 2), (2, 2), (3, 2) (1, 1), (2, 1), (2, 2), (3, 2) (1, 1), (2, 1), (3, 1), (3, 2) |