izvor

Time limit: 0.4s Memory limit: 2MB Input: izvor.in Output: izvor.out

Suntem un grup de iubitori ai muntelui şi plănuim pentru vacanţa mare o expediţie în Apuseni. Studiind atent harta, am observat că există NN cabane, pe care le-am numerotat de la 11 la NN. Pe hartă sunt marcate şi cele PP poteci pe care se poate circula în siguranţă. O potecă uneşte două cabane şi, evident, poate fi parcursă în ambele sensuri.
În Apuseni există multe izvoare subterane şi am observat pe hartă că unele poteci traversează izvoare. Am marcat pe hartă cu 11 potecile care traversează izvoare subterane şi cu 00 pe cele care nu traversează izvoare subterane.
Ne interesează să studiem traseele distincte care îndeplinesc simultan următoarele condiţii:

  • un traseu trece pe la MM cabane exact o singură dată;
  • între oricare două cabane consecutive pe traseu există potecă de legătură şi cel puţin una dintre aceste poteci traversează un izvor subteran;
  • de la ultima cabană de pe traseu se poate reveni la cabana de plecare folosind o potecă.
    Două trasee sunt considerate distincte dacă există cel puţin o poziţie i (1iM)i\ (1 \leq i \leq M) astfel încât a ii-a cabană de pe primul traseu este diferită de a ii-a cabană de pe cel de-al doilea traseu.

Cerinţă

Cunoscând harta regiunii, să se determine numărul de trasee distincte care îndeplinesc condiţiile din enunţ.

Date de intrare

Fişierul de intrare izvor.in va conţine pe prima linie numerele naturale N P MN \ P \ M, separate prin câte un singur spaţiu, având semnificaţia din enunţ. Pe următoarele PP linii sunt descrise cele PP poteci, câte o potecă pe o linie, sub forma a 33 numere naturale separate prin spaţii x y zx \ y \ z cu semnificaţia: "există potecă între cabanele xx şi yy; zz este 11 dacă poteca trece peste un izvor subteran, respectiv 00, în caz contrar".

Date de ieşire

Fişierul de ieşire izvor.out va conţine o singură linie pe care va fi scris un număr natural ce reprezintă numărul de trasee distincte ce îndeplinesc condiţiile din enunţ.

Restricţii

  • 4N204 \leq N \leq 20
  • 3P1003 \leq P \leq 100
  • 3M73 \leq M \leq 7
  • Între oricare două cabane xx şi yy poate exista cel mult o potecă ce poate fi parcursă atât de la xx la yy, cât şi de la yy la xx.
  • Numărul de soluţii nu depăşeşte 101210^{12}.

Exemplu

izvor.in

5 6 3
1 2 0
1 3 0
1 4 0
2 3 0
2 4 1
2 5 1

izvor.out

4

Explicație

Există 55 cabane şi 66 poteci, dintre care două traversează izvoare subterane.
Cele 44 trasee care îndeplinesc condiţiile din enunţ sunt:

  • 1 2 41 \ 2 \ 4
  • 1 4 21 \ 4 \ 2
  • 2 4 12 \ 4 \ 1
  • 4 2 14 \ 2 \ 1

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