Rezolvare PBinfo #691

Decorative Icon Problema: Drumuri1 / 691

Decorative IconAutor: Darius

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ța

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 drumuri.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 și precizări
  • 1 ≤ K ≤ N ≤ 250
  • 1 ≤ m ≤ 10 000
  • 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

3 4 3 4
1 1
1 3
2 2 
2 3

drumuri1.out

3
Explicație

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)

Exemplu:

drumuri1.in

4 5 2 4
1 2
2 1
1 3
3 2
4 3

drumuri1.out

5
Explicație

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)

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate