QOJ.ac

QOJ

حد الوقت: 3 s حد الذاكرة: 512 MB مجموع النقاط: 100

#837. 자이언트 펭귄

الإحصائيات

펭수는 잘 알려진 거대한 한국 펭귄입니다. 그는 매우 무례하고 노래 부르는 것을 좋아합니다.

이번에 펭수는 그래프 쿼리를 수행하고 있습니다.

그는 연결된 무방향 그래프를 가지고 있으며, 각 정점은 최대 $k$개의 정점 단순 사이클(vertex-simple cycle)에 포함됩니다.

그는 두 가지 유형의 쿼리에 답하고자 합니다.

  • 어떤 정점 $v$를 표시합니다.
  • 정점 $v$에서 가장 가까운 표시된 정점을 찾습니다 (이 유형의 쿼리가 주어질 때는 항상 최소한 하나의 표시된 정점이 있음이 보장됩니다).

펭수는 매우 게을러서 낮잠을 자기로 결정했으므로, 여러분에게 이 쿼리들을 수행해 달라고 요청했습니다. 그가 잠에서 깰 때까지 성공하지 못하면 그는 여러분을 괴롭힐 것이니, 빨리 행동하세요!

입력

입력의 첫 번째 줄에는 세 정수 $n, m, k$ ($1 \le n \le 100\,000, n - 1 \le m \le 200\,000, 0 \le k \le 10$)가 주어집니다. 이는 각각 정점의 수, 간선의 수, 그리고 하나의 정점을 지날 수 있는 정점 단순 사이클의 최대 개수를 의미합니다.

다음 $m$개의 줄에는 간선에 대한 설명이 주어집니다. $i$번째 줄에는 두 정수 $u_i, v_i$ ($1 \le u_i, v_i \le n, u_i \neq v_i$)가 주어지며, 이는 정점 $u_i$와 $v_i$ 사이의 간선을 의미합니다.

다중 간선은 없으며, 그래프는 연결되어 있고, 각 정점은 최대 $k$개의 정점 단순 사이클에 포함됨이 보장됩니다.

다음 줄에는 쿼리의 개수를 나타내는 정수 $q$ ($1 \le q \le 200\,000$)가 주어집니다.

다음 $q$개의 줄에는 쿼리에 대한 설명이 주어집니다. $i$번째 줄에는 두 정수 $t_i, v_i$ ($1 \le t_i \le 2, 1 \le v_i \le n$)가 주어집니다.

$t_i = 1$이면, 정점 $v_i$를 표시합니다. 이 정점은 이전에 표시된 적이 없음이 보장됩니다.

$t_i = 2$이면, $v_i$에서 가장 가까운 표시된 정점까지의 거리를 찾습니다. 최소한 하나의 표시된 정점이 있음이 보장됩니다.

출력

$t_i = 2$인 각 쿼리에 대해, 가장 가까운 표시된 정점까지의 거리를 출력합니다.

예제

입력 1

5 4 0
1 2
2 3
3 4
4 5
7
1 1
1 5
2 1
2 2
2 3
2 4
2 5

출력 1

0
1
2
1
0

입력 2

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

출력 2

2
2

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1549EditorialOpenNew Editorial for Problem #837xcx09022026-04-16 16:09:48View
#1546EditorialOpenNew Editorial for Problem #837robertfan2026-04-16 11:31:33View
#603Editorial Open集训队作业 解题报告 by 祁沐笛Qingyu2026-01-02 22:56:58 Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.