결혼식

임정우·2023년 1월 22일

코딩테스트

목록 보기
7/10

bfs/dfs로 안 풀었다.

  1. 친구인지 판별 -> 리스트에 넣음
  2. 중복제거
  3. 친구의 친구인지 판별 -> 리스트에 넣음
  4. 중복제거
  5. 길이 출력
m = int(input())
n = int(input())

graph = []

for i in range(n):
    graph.append(list(map(int,input().split(sep=" "))))

friend = []

for i in range(n):
    if 1 in graph[i]:
        friend.append(graph[i][1])
friend = list(set(friend))
friend_friend = []

for i in range(n):
    for j in range(len(friend)):
        if friend[j] in graph[i] and 1 not in graph[i]  and\
            not ((graph[i][0] in friend) and (graph[i][1] in friend)):
            friend_friend.append(graph[i][0])
            friend_friend.append(graph[i][1])  

friend_friend = set(friend_friend)

for i in friend:
    if i in friend_friend:
        friend_friend.remove(i)        

ans = len(friend) + len(friend_friend)

print(ans)
profile
경희대학교 소프트웨어융합학과

0개의 댓글