BOJ - 2606번 바이러스 (Python)

woga·2021년 1월 4일
0

python 풀이

목록 보기
3/27
post-thumbnail

문제 출처: https://www.acmicpc.net/problem/2606

난이도

Silver 3


문제 풀이

쉬운 그래프 탐색 문제


통과 코드

if __name__ == '__main__':
    n = int(input())
    pair = int(input())
    arr = [[0 for x in range(n+1)] for y in range(n+1)]
    ch = list()
    queue = list()
    for i in range(pair):
        x,y = map(int, input().split())
        arr[x][y] = 1
        arr[y][x] = 1
    queue.append(1)
    ch.append(1)
    while queue:
        node = queue.pop(0)
        for i in range(1,n+1):
            if arr[node][i] == 0 or i in ch:
                continue

            queue.append(i)
            ch.append(i)

    print(len(ch)-1)

피드백

이차원 배열 선언에서 좀 시간이 걸렸다 처음에 [[0]*n]*n 로 했더니 같은 배열 n번 나와서 (1,2)이 1이 되면 다른 행과 열이여야할 곳들도 1이 됐다. 선언을 좀 조심해야겠다

profile
와니와니와니와니 당근당근

0개의 댓글