📌문제


📌나의 코드
def dfs(computers, v, visited):
global cnt
visited[v] = True
for i in computers[v]:
if i and not visited[i]:
cnt += 1
dfs(computers, i, visited)
n = int(input())
m = int(input())
computers = [[] for _ in range(n + 1)]
for _ in range(m):
c1, c2 = map(int, input().split())
computers[c1].append(c2)
computers[c2].append(c1)
visited = [False] * (n + 1)
cnt = 0
dfs(computers, 1, visited)
print(cnt)
from collections import deque
def bfs(computers, start, visiteed):
global cnt
queue = deque()
queue.append(start)
visited[start] = True
while queue:
v = queue.popleft()
for i in computers[v]:
if not visited[i]:
cnt += 1
queue.append(i)
visited[i] = True
n = int(input())
m = int(input())
computers = [[] for _ in range(n + 1)]
for _ in range(m):
c1, c2 = map(int, input().split())
computers[c1] += [c2]
computers[c2] += [c1]
visited = [False] * (n + 1)
cnt = 0
bfs(computers, 1, visited)
print(cnt)
📌다른 사람 코드
def dfs(v):
visited[v] = 1
for i in computers[v]:
if visited[i] == 0:
dfs(i)
n = int(input())
m = int(input())
computers = [[] for _ in range(n + 1)]
for _ in range(m):
c1, c2 = map(int, input().split())
computers[c1] += [c2]
computers[c2] += [c1]
visited = [False] * (n + 1)
dfs(1)
print(sum(visited) - 1)
from collections import deque
def bfs(v):
queue = deque()
queue.append(v)
visited[v] = 1
while queue:
v = queue.popleft()
for i in computers[v]:
if not visited[i]:
queue.append(i)
visited[i] = 1
n = int(input())
m = int(input())
computers = [[] for _ in range(n + 1)]
for _ in range(m):
c1, c2 = map(int, input().split())
computers[c1] += [c2]
computers[c2] += [c1]
visited = [0] * (n + 1)
bfs(1)
print(sum(visited) - 1)
출처