This commit is contained in:
alexey_makov 2026-07-01 19:46:51 +03:00
commit 851751ea87
82 changed files with 2093 additions and 0 deletions

33
1C.py Normal file
View file

@ -0,0 +1,33 @@
N, M = map(int, input().split())
adj = [[] for i in range(N+1)]
for i in range(M):
u, v = map(int, input().split())
adj[u].append(v)
color = [0]*(N+1) # 0-нет цвета, 1 - обработка, 2 - отмечена и мы закончили
parent = [0]*(N+1)
for i in range(1, N+1):
if color[i] == 0:
stack = [i]
while stack:
u = stack.pop()
if color[u] == 0:
color[u] = 1
stack.append(u)
for v in adj[u]:
if color[v] == 0:
stack.append(v)
parent[v] = u
elif color[v] == 1 :
cycle = [v]
curr = u
while curr != v:
cycle.append(curr)
curr = parent[curr]
print(len(cycle))
print(*(cycle[::-1]))
exit()
elif color[u] == 1:
color[u] = 2
print("-1")