Laiko ribojimas: 1s
Atminties ribojimas: 256MB
Vamzdžiai (BOI 2013)
Hotamo miestas vėl puolamas paties pavojingiausio blogiečio Pokštininko. Jo taikinys yra Hotamo vandentiekis. Šviežias vanduo laikomas vamzdžiais sujungtose talpose. Iš viso yra N talpų ir M vamzdžių, ir keliaujant vamzdžiais galima patekti iš bet kurios talpos į bet kurią kitą. Be to, tarp bet kurios poros talpų nutiestas daugiausia vienas vamzdis ir nėra vamzdžių, einančių iš talpos į ją pačią. Pokštininkas pramušė kai kuriuos vamzdžius ir iš jų leidžia vandenį. Iš vamzdžio išleidžiamas sveikasis lyginis skaičius kubinių metrų per sekundę () vandens. Jei vandens išleidžiama iš vamzdžio, jungiančio talpas u ir v, tai u ir v abu praranda po vandens. Norėdamas suklaidinti miestiečius, Pokštininkas į kai kuriuos vamzdžius pompuoja vandenį, vietoje to, kad jį išleistų. Į vamzdį įpompuojamas taip pat lyginis skaičius vandens. Jei vandens įpompuojama į vamzdį, jungiantį talpas u ir v, tai u ir v gauna po vandens. Kiekvienos talpos vandens tūrio bendras kitimas yra suma visų praradimų ir gavimų, patiriamų dėl iš talpos einančių vamzdžių. Tiksliau, jei iš talpos eina vamzdžiai, iš kurių išsiurbama vandens ir vamzdžiai, į kuriuos įpompuojama vandens, tai tos talpos bendras kitimas yra . Hotamo meras įdiegė daviklius talpose, bet ne vamzdžiuose. Taigi jis mato bendrus kitimus visose talpose, bet nežino, kiek vandens išleidžiama ir įpompuojama į vamzdžius. Parašykite programą, kuri padėtų merui. Turėdama visą informaciją apie vandentieko tinklą ir bendrus kitimus talpose, jūsų programa turi nustatyti, ar šios informacijos pakanka vienareikšmiškai nustatyti Pokštininko planą. Planas nustatomas vienareikšmiškai, jei kiekvienam vamzdžiui yra lygiai viena galimybė, kiek vandens iš jo išleidžiama ar į jį įpompuojama. Atkreipkite dėmesį, kad šie kiekiai nebūtinai sutampa visiems vamzdžiams. Jei yra lygiai vienas galimas planas, jūsų programa turi jį pateikti.
Pradiniai duomenys
Pirmoje eilutėje pateikiami du sveikieji skaičiai: talpų skaičius N ir vamzdžių skaičius M. Kitose N eilučių yra po vieną sveikąjį skaičių — vandens tūrio kitimą talpoje i (). Iš šių N eilučių, i-oje yra skaičius . Po to M eilučių pateikiama po du sveikuosius skaičius ir (). Kiekviena tokia eilutė reiškia, kad tarp talpų ir yra nutiestas vamzdis. Iš šių M eilučių, i-oje yra skaičiai ir . Duomenys tokie, visuomet bus bent vienas galimas Pokštininko planas.
Rezultatai
Jei Pokštininko planas negali būti nustatytas vienareikšmiškai, vienintelėje eilutėje turi būti išvestas 0. Kitu atveju reikia patekti M eilučių, i-oje pateikiant sveikąjį skaičių (). Jei Pokštininkas išleidžia vandens iš ir jungiančio vamzdžio, tai . Jei Pokštininkas įpumpuoja vandens į vamzdį tarp ir , tai . Jei Pokštininkas nieko nedaro su šiuo vamzdžiu, tai .
Ribojimai
, , .
Jei Pokštininko planas gali būti nustatytas vienareikšmiškai, tai .
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
4 3 -1 1 -3 1 1 2 1 3 1 4 |
2 -6 2 |
4 5 1 2 1 2 1 2 2 3 3 4 4 1 1 3 |
0 |