РСОП XXX 2018
8
B.
EMERGENCY
44
Условие
B. Аварийна група
---
Електроразпределителното дружество „BEZ“ решава да подмени аварийните автомобили с електромобили. Обектите, за които отговаря аварийната група, в която работи Петър, са разположени в няколко съседни селища. На картата на района са означени селищата, пътищата, които ги свързват и дължините на пътищата. Между всяка двойка населени места съществува най-много един двупосочен път. Няма пътища, водещи от населено място директно към самото него. След като се получи сигнал за авария, Петър трябва да състави списък с различните маршрути до селището на аварията, дължината на които не надвишава разстоянието, което електромобилът може да измине без презареждане. Маршрутът трябва да е само за отиване до мястото на аварията и да е такъв, че да минават през дадено населено място не повече от веднъж. Напишете програма, която изготвя желания списък от маршрути, дължините на които не превишават максималния пробег на електромобила.
Вход: При едно изпълнение, програмата трябва да обработва няколко тестови примера. За всеки тестов пример, от първия ред на стандартния вход се въвеждат две цели числа, разделени с интервал – броят V на населените места в района на аварийната група, номерирани от 1 до V и броят R на пътищата между двойки населени места (2 ≤ V ≤ 64, 2 ≤ R ≤ 64). От следващите R реда се въвеждат по три цели числа C1, C2 и D. C1 и C2 са номерата на две населени места, свързани с път, а D – разстоянието между тях (1 ≤ D ≤ 9999). От последния ред на теста се въвеждат три цели числа: номерът S на населенoто място, от което тръгва аварийната група, номерът T на населеното място, в което е възникнала аварията и дължината M на пътя, който електромобилът може да измине без презареждане.
Изход: За всеки тест, на отделни редове на стандартния изход, програмата трябва да изведе намерените маршрути, подредени в нарастващ ред на дължините им, а при равни дължини – в лексикографски нарастващ ред. Редът започва с дължината на маршрута, следвана от ‘:’ и интервал. Следват номерата на населените места, които формират маршрута, разделени с интервали. Ако няма намерени маршрути, които удовлетворяват условията, програмата трябва да извде ред с думата No
Примерен вход:
4 5
1 2 2
1 3 3
1 4 1
2 3 2
3 4 4
1 3 4
4 5
1 2 2
1 3 3
1 4 1
2 3 2
3 4 4
1 4 10
Примерен изход:
3: 1 3
4: 1 2 3
1: 1 4
7: 1 3 4
8: 1 2 3 4