Статья Автор: Ратькин Иван

Все

# 8882304
n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
b = []
c = []
for i in range(n):
    d = True
    e = True
    for j in range(n):
        if a[j][i] == 1:
            d = False
        if a[i][j] == 1:
            e = False
    if d:
        b.append(i + 1)
    if e:
        c.append(i + 1)
print(len(b), *b)
print(len(c), *c)

# 8882302
from sys import setrecursionlimit
setrecursionlimit(200000)
n, s = map(int, input().split())
g = [[] for _ in range(n + 1)]
for i in range(1, n + 1):
    t = list(map(int, input().split()))
    if t:
        t.sort()
        g[i] = t
v = []
def dfs(x):
    v.append(x)
    for y in g[x]:
        if y not in v:
            dfs(y)
dfs(s)
if len(v) == n:
    print(*v)
else:
    print("HET")

# 8882305
from collections import deque
n, m, s = map(int, input().split())
g = [[] for _ in range(n + 1)]
for _ in range(m):
    u, v = map(int, input().split())
    g[u].append(v)
    g[v].append(u)
for i in range(1, n + 1):
    g[i].sort()
v = []
q = deque([s])
v.append(s)
while q:
    x = q.popleft()
    for y in g[x]:
        if y not in v:
            v.append(y)
            q.append(y)
if len(v) == n:
    print(*v)
else:
    print("HET")

# 8882347
from collections import deque
n, m, s = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]
g = [[] for _ in range(n + 1)]
for i in range(n):
    for j in range(m):
        if a[i][j] == 1:
            g[i + 1].append(j + 1)
for i in range(1, n + 1):
    g[i].sort()
v = []
q = deque([s])
v.append(s)
while q:
    x = q.popleft()
    for y in g[x]:
        if y <= n and y not in v:
            v.append(y)
            q.append(y)
if len(v) == n:
    print(*v)
else:
    print("НЕТ")

# 8882349
n, m = map(int, input().split())
e = set()
for _ in range(m):
    u, v = map(int, input().split())
    e.add((u, v))
f = True
for i in range(1, n + 1):
    for j in range(i + 1, n + 1):
        if (i, j) not in e and (j, i) not in e:
            f = False
            break
    if not f:
        break
if f and m == n * (n - 1) // 2:
    print("YES")
else:
    print("NO")

# 8882342
from collections import deque
N, S, V1, V2 = map(int, input().split())
g = [[] for _ in range(N + 1)]
for i in range(1, N + 1):
    r = list(map(int, input().split()))
    for j in range(1, N + 1):
        if r[j - 1] == 1:
            g[i].append(j)
def bfs(x):
    d = [-1] * (N + 1)
    d[x] = 0
    q = deque([x])
    while q:
        c = q.popleft()
        for nxt in g[c]:
            if d[nxt] == -1:
                d[nxt] = d[c] + 1
                q.append(nxt)
    return d
d1 = bfs(V1)
d2 = bfs(V2)
if d1[S] == -1 and d2[S] == -1:
    print("infinity")
elif d1[S] == -1:
    print("PI")
elif d2[S] == -1:
    print("VI")
elif d1[S] < d2[S]:
    print("VI")
elif d2[S] < d1[S]:
    print("PI")
else:
    print("fifth-fifth")

# 8882341
def dfs(x, y):
    if x < 0 or x >= N or y < 0 or y >= N or a[x][y] != '.' or u[x][y]:
        return 0
    u[x][y] = True
    s = 1
    for dx, dy in [(1,0),(-1,0),(0,1),(0,-1)]:
        s += dfs(x + dx, y + dy)
    return s
N = int(input())
a = [list(input().strip()) for _ in range(N)]
x, y = map(int, input().split())
x -= 1
y -= 1
u = [[False] * N for _ in range(N)]
print(dfs(x, y))

# 8882343
n, m = map(int, input().split())
e = set()
for _ in range(m):
    u, v = map(int, input().split())
    if u > v:
        u, v = v, u
    e.add((u, v))
f = True
for i in range(1, n + 1):
    for j in range(i + 1, n + 1):
        if (i, j) not in e:
            f = False
            break
    if not f:
        break
print("YES" if f else "NO")

# 8882376
from sys import setrecursionlimit
setrecursionlimit(200000)
n, s = map(int, input().split())
g = [[] for _ in range(n + 1)]
for i in range(1, n + 1):
    t = list(map(int, input().split()))
    if t:
        t.sort()
        g[i] = t
v = []
def dfs(x):
    v.append(x)
    for y in g[x]:
        if y not in v:
            dfs(y)
dfs(s)
if len(v) == n:
    print(*v)
else:
    print("HET")

# 8882380
n, s = map(int, input().split())
g = [[] for _ in range(n + 1)]
for i in range(1, n + 1):
    t = list(map(int, input().split()))
    if t:
        t.sort()
        g[i] = t
v = []
def dfs(x):
    v.append(x)
    for y in g[x]:
        if y not in v:
            dfs(y)
dfs(s)
if len(v) == n:
    print(*v)
else:
    print("HET")
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать