npath

Time limit: 0.5s Memory limit: 256MB Input: npath.in Output: npath.out

Fie NN și KK două numere naturale.

  • Toate punctele din plan de coordonate întregi (x,y)(x,y) cu proprietatea 0xN,0yN0 \leq x \leq N, 0 \leq y \leq N se unesc prin linii orizontale și verticale de lungime 11.
  • Apoi KK linii de lungime 11 dintre cele de mai sus se șterg.

Definim o cale ca fiind o succesiune continuă de linii orizontale sau verticale de lungime 11, între originea sistemului de axe și punctul de coordonate (N,N)(N, N), cu lungimea totală 2N2 \cdot N.

Cerință

Să se determine numărul total de căi distincte.

De exemplu, dacă N=3N = 3 și dintre toate liniile desenate se șterg K=4K = 4 linii (liniile subțiri), atunci conform figurilor de mai jos, numărul total de căi distincte va fi 66.

Date de intrare

Fișierul de intrare npath.in conține pe prima linie numerele NN și KK, despărțite printr-un spațiu, cu semnificaţia de mai sus, iar pe fiecare din următoarele KK linii va fi câte un triplet de numere x,y,dx, y, d având următoarea semnificație:

  • x,yx, y reprezintă coordonatele punctului de unde începe să se șteargă o linie.
  • d=1d = 1 dacă linia va fi ștearsă pe orizontală către dreapta.
  • d=2d = 2 dacă linia va fi ștearsă pe verticală în sus.

Date de ieșire

Fișierul de ieșire npath.out va conține pe prima linie restul împărțirii numărului total de căi distincte la 30000173000017.

Restricții și precizări

  • 1N5 0001 \leq N \leq 5 \ 000
  • 0K1000 \leq K \leq 100
  • Două căi sunt distincte dacă succesiunea de linii orizontale și verticale diferă prin cel puțin o poziție
  • Pentru teste în valoare de 5252 puncte 0K150 \leq K \leq 15

Exemplu

npath.in

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

npath.out

6

Explicație

N=3N = 3 și K=4K = 4. Din grila inițială se șterg 44 linii și anume:

  • Linia verticală dintre punctele de coordonate (1,0)(1,0) și (1,1)(1,1)
  • Linia verticală dintre punctele de coordonate (2,1)(2,1) și (2,2)(2,2)
  • Linia orizontală dintre punctele de coordonate (2,2)(2,2) și (3,2)(3,2)
  • Linia verticală dintre punctele de coordonate (1,2)(1,2) și (1,3)(1,3)

În total sunt 66 moduri diferite de a ajunge din origine în punctul de coordonate (3,3)(3,3) fără a trece prin liniile șterse (conform figurilor de mai sus). Restul împărțirii lui 66 la 30000173000017 este 66.

Log in or sign up to be able to send submissions!