Pia și Mițuca au ajuns la închisoare după ce au furat 10 conserve cu ton și au ucis 7 muște cu premeditare. Acum, închise departe de cele mai pufoase și călduroase loculețe de dormit, au decis să evadeze.
Închisoarea este sub forma unui graf neorientat cu noduri și muchii. Pia și Mițuca se află în nodul , iar scopul lor este să ajungă în nodul pentru a evada. Fiecare nod are o culoare reprezentată printr-un număr natural, exceptând nodurile și , care sunt necolorate.
Fiecare muchie a grafului are un cost de bobițe pe care protagonistele trebuie să îl plătească pentru a parcurge muchia respectivă.
Din păcate, nodurile sunt camere securizate digital pentru a preveni evadarea criminalilor periculoși. Singura metodă de a intra într-o astfel de cameră fără să sune alarma este prin dezactivarea senzorilor de protecție. Pentru aceasta, este nevoie de o cheie magnetică care să aibă aceeași culoare cu cea a camerei în care se intră. Din fericire, Pia și Mițuca se află în camera , unde se găsesc chei magnetice de toate culorile posibile. Totuși, acestea fiind foarte greu de cărat, fiecare pisicuță poate să pornească la drum cu maxim o astfel de cheie. Prin urmare, fiind o echipă, pisicile pot porni la drum cu maxim culori distincte, pe care o să le numim culorile și . Având aceste chei cu culorile și , pisicuțele pot parcurge doar noduri care au culoarea sau culoarea (nodurile unde pot dezactiva senzorii de protecție).
În plus, acestea au primit un mesaj telepatic de la Tomiță, un motănel periculos. Tomiță le-a spus că a analizat închisoarea și a realizat că nu există o componentă conexă de noduri de aceeași culoare care să fie mai mare de de noduri.
Cerință
Deoarece Pia și Mițuca vor să rămână cu cât mai multe bobițe la final, aflați costul minim de bobițe pe care trebuie să îl plătească pentru a ajunge din nodul în nodul știind că pot parcurge maxim culori diferite. Se cere, de asemenea, numărul de drumuri de cost minim între nodul și nodul în condițiile date, modulo , și un exemplu de astfel de drum de cost minim.
Date de intrare
Fișierul de intrare prisonbreak.in
conține pe prima linie două numere naturale și , reprezentând numărul de noduri din graf, respectiv numărul de muchii din graf. Următoarea linie conține valori reprezentând culorile nodurilor numerotate de la la . Începând cu linia , pe următoarele linii se află câte numere naturale reprezentând faptul că există o muchie neorientată între nodul și nodul , iar costul de parcurgere a muchiei este .
Date de ieșire
Fișierul de ieșire prisonbreak.out
trebuie să conțină pe prima linie costul minim de a ajunge din nodul în nodul în condițiile menționate în enunț. Pe a doua linie va conține numărul de drumuri distincte, , cu acest cost, care respectă condițiile din enunț, modulo }. Urmează două linii ce reprezintă un exemplu de drum parcurs dintre aceste . Dacă există mai multe, se poate afișa oricare. Linia a -a din fișier va conține un număr natural reprezentând numărul de noduri parcurse în drumul ales. Pe linia a -a se vor afișa numere naturale reprezentând nodurile parcurse de cele pisicuțe pe drumul ales.
Restricții și precizări
- ;
- ;
- culorile nodurilor ;
- costurile muchiilor ;
- Se garantează că între oricare două noduri distincte există cel mult o muchie;
- Se garantează că există cel puțin un drum de la nodul la nodul folosind cel mult două culori.
- din punctaj se va acorda pentru determinarea costului minim al drumului;
- din punctaj se va acorda pentru determinarea numărului de drumuri de cost minim;
- din punctaj se va acorda pentru reconstituirea unui drum de cost minim.
# | Scor | Restricții |
---|---|---|
1 | 3 | , exista maxim 2 culori distincte in graf |
2 | 4 | , exista maxim 2 culori distincte in graf |
3 | 5 | , exista maxim 2 culori distincte in graf |
4 | 4 | |
5 | 5 | |
6 | 28 | |
7 | 18 | Nu există muchii între noduri de aceeași culoare. |
8 | 33 | Fără restricții suplimentare |
Exemplul
prisonbreak.in
7 8
1 2 3 2 1
1 2 10
1 3 7
2 4 5
3 4 8
4 5 3
5 7 5
4 6 4
6 7 2
prisonbreak.out
21
1
5
1 2 4 6 7
Explicație
Avem noduri, dintre care nodurile și sunt necolorate, iar celelalte norduri sunt colorate astfel:
- Nodul are culoarea ;
- Nodul are culoarea ;
- Nodul are culoarea ;
- Nodul are culoarea ;
- Nodul are culoarea .
Drumul de cost minim de la nodul la nodul este obținut prin folosirea culorilor și , trecând în ordine prin nodurile și având costul total . Un alt drum, folosind culorile și , trece prin nodurile și are costul , care nu este minim. Deci, numărul de drumuri de cost minim este 1.