Laiko ribojimas: 0.7s
Atminties ribojimas: 64MB
Duomenų failas: slidininkas.in
Rezultatų failas: slidininkas.out
Slidininkas
Pagaliau atšilo orai! Deja, ne visiems tas patinka. Vienas iš tokių žmonių yra Vytis, kuris nusprendė pabėgti nuo saulės ir išvykti paatostogauti. Kaip savo atostogų taikinį Vytis išsirinko Šveicariją, kurios kalnuose dar yra sniego ir galima paslidinėti.
Taigi, Vytis nuvyko į savo atostogų vietą ir užkilo ant kalno. Tačiau vos tik tai padarė, jis susidūrė su nauja problema - kaip kuo greičiau apvažiuoti slidinėjimo trasą.
Slidinėjimo trasa - tai dydžio kvadratas. Vytis pradeda savo kelionę trasos pradžioje - ląstelėje , o kelionę nori pabaigti ląstelėje . Trasą sudaro pravažiuojamos vietos pažymėtos tašku '.' bei kliūtys pažymėtos iksu - 'x'. Trasoje taip pat yra vartai (pažymėti žvaigždutėmis - '*'), per kuriuos Vytis privalo pravažiuoti.
Padėkite Vyčiui rasti trumpiausio kelio, pravažiuojant visus vartus, ilgį.
Įvestis
Pirmoje pradinių duomenų eilutėje bus pateiktas skaičius - testų kiekis (). Kiekvienas testas bus pradedamas skaičiumi - trąsos dydis (). Likusiose testo eilučių bus pateiktas trasos aprašas (vartų skaičius trasoje neviršys 'kos).
Išvestis
Kiekvienam testui išveskite trumpiausio kelio ilgį arba, jei Vyčiui nepavyks apvažiuoti visų vartų - .
Pavyzdys
Pradiniai duomenys | Rezultatai |
---|---|
2 3 ..* .*. *.. 3 ... .x. x*. |
8 6 |