Logo
(追記) (追記ここまで)

7234번 - Unter 서브태스크다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB439616.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ų.

제한

  • 3 ≤ N ≤ 200 000
  • 1 ≤ ai, bi ≤ N (1 ≤ i ≤ N, ai ≠ bi)
  • 1 ≤ Q ≤ 1 000 000
  • 1 ≤ cj, dj ≤ N (1 ≤ j ≤ Q, cj ≠ dj).
  • Iš cj į dj galima patekti daugiau nei vienu (nebūtinai trumpiausiu) keliu, kuris pro jokį namą neina daugiau negu vieną kartą.
  • Iš bet kurio namo gatvėmis visada bus galima nukeliauti iki bet kurio kito namo.

서브태스크

번호배점제한
121

N, Q ≤ 1 000

218

N ≤ 100

310

N ≤ 1 000

417

Prie kiekvieno namo yra lygiai dvi gatvės

59

Prie visų namų, išskyrus tris, yra tik viena gatvė

625

Papildomų ribojimų nėra

예제 입력 1

5 1
1 2
2 3
4 5
2 4
3 4
1 5

예제 출력 1

3

Namus 1 ir 5 jungia du keliai:

  • 1 → 2 → 3 → 4 → 5
  • 1 → 2 → 4 → 5

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번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /