# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1241068 | woe | Circle Passing (EGOI24_circlepassing) | Pypy 3 | 708 ms | 1114112 KiB |
from collections import deque
n, f, q = map(int, input().split())
friend = list(map(int, input().split()))
adj = [[] for _ in range(n)]
for i in range(n):
adj[i].append((i - 1) % n)
adj[i].append((i + 1) % n)
for i in range(f):
a, b = i, friend[i]
adj[a].append(b)
adj[b].append(a)
for _ in range(q):
s, t = map(int, input().split())
dist = [-1] * n
dist[s] = 0
dq = deque([s])
while dq:
u = dq.popleft()
for v in adj[u]:
if dist[v] == -1:
dist[v] = dist[u] + 1
dq.append(v)
print(dist[t])
Compilation message (stdout)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |