ํ’€์ด


์ƒ๊ทผ์ด์™€์˜ ๊ฑฐ๋ฆฌ๊ฐ€ 2์ดํ•˜์ธ ์นœ๊ตฌ๋“ค์˜ ์ธ์›์ˆ˜๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ฃผ์–ด์ง„ ์นœ๊ตฌ๋ชฉ๋ก์„ ํŠœํ”Œ๋กœ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค.

์นœ๊ตฌ๊ด€๊ณ„ x, y ๋Š” y ๊ฐ€ ํ•ญ์ƒ x ๋ณด๋‹ค ํฌ๊ธฐ์— ์ƒ๊ทผ์ด๋ฅผ ์ง€์นญํ•˜๋Š” 1 ์€ ํ•ญ์ƒ x ์— ์œ„์น˜ํ•œ๋‹ค.

๋•Œ๋ฌธ์— ์ƒ๊ทผ์ด์™€ ๊ฑฐ๋ฆฌ๊ฐ€ 1์ธ ์นœ๊ตฌ๋“ค์„ ์ฐพ์„ ๊ฒฝ์šฐ x ๊ฐ€ 1 ์ธ y ๋“ค์„ ์ฐพ์•„์ฃผ๊ณ  ๋ฆฌ์ŠคํŠธ f ์— ์ €์žฅํ•œ๋‹ค.

๋ฆฌ์ŠคํŠธ f ์— ์ €์žฅ๋œ ์นœ๊ตฌ๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ์นœ๊ตฌ์˜ ์นœ๊ตฌ๋ฅผ ์ฐพ์œผ๋ฉด๋œ๋‹ค.

์ด๋•Œ ์นœ๊ตฌ์˜ ์นœ๊ตฌ๊ฐ€ ์ƒ๊ทผ์ด์˜ ์นœ๊ตฌ๋ณด๋‹ค ํ•™๋ฒˆ์ด ์ž‘๊ฑฐ๋‚˜ ํด ์ˆ˜ ์žˆ์œผ๋‹ˆ x, y ์— ๋Œ€ํ•ด์„œ ๋ชจ๋‘ ์ฐพ์•„์ฃผ๋ฉด๋œ๋‹ค.

์ดํ›„ ์ฐพ์€ ๋ชจ๋“  ์นœ๊ตฌ๋“ค์˜ ํ•™๋ฒˆ์—์„œ ์ค‘๋ณต๋˜๋Š” ํ•™๋ฒˆ์„ set ๋ฅผ ํ†ตํ•ด ๊ฑธ๋Ÿฌ์ฃผ๊ณ  ์ƒ๊ทผ์ด๊ฐ€ ํฌํ•จ์ด ๋˜์–ด์žˆ์„ ๊ฒฝ์šฐ ์ƒ๊ทผ์ด๋ฅผ ์ œ์™ธํ•œ ์ธ์›์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด๋œ๋‹ค.

์†Œ์Šค์ฝ”๋“œ


import sys
 
input = sys.stdin.readline
 
n = int(input())
m = int(input())
l = [list(map(int, input().split())) for _ in range(m)]
f = []
ff = []
 
for x, y in l:
    if x == 1:
        f.append(y)
 
for x, y in l:
    if x in f:
        ff.append(y)
    elif y in f:
        ff.append(x)
 
fff = list(set(f + ff))
if 1 in fff:
    fff.remove(1)
 
print(len(fff))

References