| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 43 | 9 | 6 | 16.667% |
Justas planuoja sukurti programėlę, leidžiančią žmonėms dalintis kelionėmis automobiliu. Pirmiausia jam reikia parašyti programą, kuri leistų rasti trumpiausią atstumą tarp dviejų namų.
Mieste, kuriame veiks programėlė, yra N namų, sunumeruotų nuo 1 iki N. Namus tiesiogiai jungia N dvikrypčių gatvių. Viena gatvė jungia lygiai du namus ir du namus jungia ne daugiau kaip viena gatvė.
Justas jau parašė algoritmą, kuris leidžia rasti trumpiausią kelią tarp dviejų namų, kai yra tik vienas būdas nuvažiuoti iš vieno namo į kitą, nevažiuojant pro tą patį namą daugiau nei kartą. Tačiau jam reikia jūsų pagalbos rasti trumpiausią kelią tarp tokių namų porų, tarp kurių nuvažiuoti yra daugiau nei vienas toks būdas.
Raskite trumpiausią atstumą tarp Q namų porų.
Pirmoje eilutėje pateikiami du sveikieji skaičiai: namų skaičius N ir užklausų skaičius Q.
Tolimesnėse N eilučių pateikiama po du tarpu atskirtus sveikuosius skaičius ai ir bi. Šie skaičiai nurodo, kad mieste egzistuoja gatvė tarp namų ai ir bi.
Likusiose Q eilučių pateikiama po du tarpu atskirtus sveikuosius skaičius cj ir dj.
Išveskite Q eilučių. k-toje eilutėje pateikite vieną skaičių – trumpiausio kelio tarp namų ck ir dk ilgį. Atstumą tarp dviejų namų Justas skaičiuoja kaip gatvių, kuriomis reikia važiuoti, skaičių.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 21 | N, Q ≤ 1 000 |
| 2 | 18 | N ≤ 100 |
| 3 | 10 | N ≤ 1 000 |
| 4 | 17 | Prie kiekvieno namo yra lygiai dvi gatvės |
| 5 | 9 | Prie visų namų, išskyrus tris, yra tik viena gatvė |
| 6 | 25 | Papildomų ribojimų nėra |
5 1 1 2 2 3 4 5 2 4 3 4 1 5
3
Namus 1 ir 5 jungia du keliai:
Pirmo kelio ilgis yra 4, o antro – 3. Išvedame trumpiausią, t. y. 3.
Olympiad > Lithuanian Olympiad in Informatics > Lithuanian Olympiad in Informatics 2020/2021 > National Round (2) > 10-12 Classes 2번