complete 1325.py and 2470.py
This commit is contained in:
37
zeta_python/completed/1325.py
Normal file
37
zeta_python/completed/1325.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
from collections import deque
|
||||||
|
import sys
|
||||||
|
|
||||||
|
input = sys.stdin.readline
|
||||||
|
|
||||||
|
|
||||||
|
def bfs(N, H, start):
|
||||||
|
Vsx = [0] * (N + 1)
|
||||||
|
count = 0
|
||||||
|
D = deque()
|
||||||
|
D.append(start)
|
||||||
|
Vsx[start] = 1
|
||||||
|
|
||||||
|
while D:
|
||||||
|
now = D.pop()
|
||||||
|
count += 1
|
||||||
|
for target in H[now]:
|
||||||
|
if not Vsx[target]:
|
||||||
|
D.append(target)
|
||||||
|
Vsx[target] = 1
|
||||||
|
|
||||||
|
return count
|
||||||
|
|
||||||
|
|
||||||
|
def solve(N, M, H):
|
||||||
|
S = [bfs(N, H, i) for i in range(1, N + 1)]
|
||||||
|
m = max(S)
|
||||||
|
return [i + 1 for i, v in enumerate(S) if v == m]
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
N, M = map(int, input().split())
|
||||||
|
H = [[] for _ in range(N + 1)]
|
||||||
|
for _ in range(M):
|
||||||
|
s, e = map(int, input().split())
|
||||||
|
H[e].append(s)
|
||||||
|
print(*solve(N, M, H))
|
||||||
37
zeta_python/completed/2470.py
Normal file
37
zeta_python/completed/2470.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
def solve_simple(N, S):
|
||||||
|
_, s = min(
|
||||||
|
[
|
||||||
|
(abs(S[i] + S[j]), sorted((S[i], S[j])))
|
||||||
|
for i in range(N)
|
||||||
|
for j in range(N)
|
||||||
|
if i != j
|
||||||
|
]
|
||||||
|
)
|
||||||
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
def solve(N: int, S: list) -> tuple[int, int]:
|
||||||
|
S.sort()
|
||||||
|
start = 0
|
||||||
|
end = N - 1
|
||||||
|
r = 10000000000
|
||||||
|
r_pos = None, None
|
||||||
|
while start < end:
|
||||||
|
s = S[start] + S[end]
|
||||||
|
if r > abs(s):
|
||||||
|
r = abs(s)
|
||||||
|
r_pos = start, end
|
||||||
|
if r == 0:
|
||||||
|
break
|
||||||
|
if s <= 0:
|
||||||
|
start += 1
|
||||||
|
elif s > 0:
|
||||||
|
end -= 1
|
||||||
|
|
||||||
|
return S[r_pos[0]], S[r_pos[1]]
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
N = int(input())
|
||||||
|
S = list(map(int, input().split()))
|
||||||
|
print(*solve(N, S))
|
||||||
Reference in New Issue
Block a user