Logistika
문제
Maailmakuulus tööstusfirma Universal Manufacturing otsustas hiljuti oma tegevust laiendada. Firma toodab palju erinevaid tooteid, lampidest traktoriteni, ja korraldab kogu tootmisprotsessi, toorainetest lõpliku tooteni, oma tehastes.
Firma tehast on nummerdatud , kusjuures tehas nr. on peatehas. Tehased on oma\-vahel ühendatud teega ja on teada, et peatehasest on võimalik mööda neid teid pääseda kõigisse teistesse tehastesse.
Igal tehasel on oma tase , mis tähendab et see tehas on võimeline koostama nii selle tasemega komponente teiste tehaste jaoks kui ka sama tasemega valmistooteid. Tehas võib sisendina kasutada suvalise madalama tasemega komponente, aga tulemusena saadud komponendi või toote tase on alati .
Firma otsustas avada tehaste juures poodi, kus pood asub tehase juuures ja võib müüa tooteid tasemetega . Valmistamisel läbib iga toode mingi tehaste jada , kus esialgsed komponendid valmistatakse tehases , siis viiakse need tehasesse , kus neist valmistatakse kõrgema taseme komponendid, mida omakorda töödeldakse edasi kuni tehaseni , kus valmistatakse lõplik toode, mis transporditakse poodi. Baaskomponendid valmistatakse alati peatehases, seega . Kuna iga tehas saab töödelda ainult madalama tasemega komponente, siis iga korral peab kehtima .
Kuna transport on kogu tootmisprotsessi kõige kallim osa, otsustati, et ühegi toote valmistamise käigus ei tohi toode ei komponentidena ega valmiskujul ühtki tehast korduvalt läbida (isegi kui toodet seal tehases ei töödelda). Kui mingi toote jaoks ei leidu poodi, kuhu ta nii müügile jõuda saaks, siis seda toodet poes ei müüda.
Universal Manufacturingi tööpakkumisi uurides panid Sa tähele, et neil on vaba väga hea palgaga tarkvarainseneri töökoht. Lisaks avastasid Sa, et nad kasutavad oma logistika planeerimiseks algoritmi, mis vaatab iga poe juures iga toote jaoks läbi kõik võimalikud tehaste jadad, millega seda toota saaks, ja siis valib neist selle, mis nende logistikavõrku kõige vähem koormab. Nutika programmeerijana taipasid kohe, et firma suure tehastevõrgu juures võib see algoritm joosta universumi lõpuni.
Sa soovid firmat veenda nende algoritmi ebaefektiivsuses (ja loodetavasti saada palgatud seda parandama). Selleks tuleb Sul kirjutada programm, mis arvutab iga poe jaoks, kui palju tehaste valikuid firma praegune algoritm läbi vaatab.
입력
Standardsisendi esimesel real on tehaste arv (). Teisel real on täisarvu (), kus tähendab, et tehaste ja vahel on tee (erandina ja ei esita teed). Kolmandal real on täisarvu (), mis näitavad tehaste tasemeid. On teada, et ja et kõik väärtused on erinevad. Neljandal real on poodide arv (). Viimasel real on igaühel kolm täisarvu , ja ( ja ), mis tähistavad et pood asub tehase juures ja võib müüa tooteid tasemetega .
출력
Standardväljundi reale väljastada poele sobivate tootedete kõigile võimalikele tootmisprotsessidele vastavate tehasejadade koguarv. Kuna variante võib olla väga palju, väljastada tegeliku arvu asemel jääk, mis tekib selle jagamisel arvuga .
예제
예제 1
8 0 1 2 2 4 2 1 7 0 7 5 1 3 6 4 2 4 5 1 4 8 2 4 6 1 4 2 1 7
3 2 0 1