성장일기
[python] 백준 5567 - 결혼식 본문
동기들의 친구 관계를 모두 조사한 리스트를 바탕으로
결혼식에 초대할 사람 수 구하기
1(본인)의 친구거나
친구의 친구까지 초대한다.
🌟주의점🌟
1이 항상 앞에 오지는 않는다
(테스트케이스로 알기 힘듦 - 문제를 잘 이해하자)
나는 JOI의 예선 테스트케이스를 보고 이해했다ㅠㅠ
https://www.ioi-jp.org/joi/2009/2010-yo-prob_and_sol/index.html
▲ JOI 2009/2010 9회 예선 문제 3번
import sys
n=int(sys.stdin.readline().rstrip()) #상근이의 동기 수
m=int(sys.stdin.readline().rstrip()) #리스트의 길이
li=[]
result=[]
for i in range(m): #리스트의 길이만큼
a,b=map(int,sys.stdin.readline().split()) #친구관계 받아오기
li.append([a,b])
for i in range(len(li)): #리스트의 길이 만큼==m
if li[i][0]==1: #첫번째 수가 1이면
result.append(li[i][1]) #두번째 수를 li에 append
elif li[i][1]==1: #두번째 수가 1이면
result.append(li[i][0]) #첫번째 수를 li에 append
else:
pass
for i in range(len(result)): #result의 길이만큼
for j in range(m): #리스트의 길이만큼
if result[i]==li[j][0]: #result에 있는 요소가 첫번째 요소면
result.append(li[j][1])
elif result[i]==li[j][1]: #result에 있는 요소가 두번째 요소면
result.append(li[j][0])
else:
pass
result=set(result) #중복 제거
if 1 in result: #1이 result에 들어있으면 삭제
result.remove(1)
print(len(result)) #result의 길이
'알고리즘 문제' 카테고리의 다른 글
[python] 백준 9417 - 최대 GCD (0) | 2021.12.29 |
---|---|
[python] 백준 17087 - 숨바꼭질 6 (0) | 2021.12.28 |
[python] 백준 2941 - 크로아티아 알파벳 (0) | 2021.12.27 |
[python] 백준 11399 - ATM (0) | 2021.12.27 |
[python] 백준 1764 - 듣보잡 (0) | 2021.12.27 |