import sys
# 별의 번호가 1번부터 시작# 리스트의 인덱스는 0부터 시작# 0은 버리는 칸이고, 1~12번 까지 담을 수 있게 총 13칸을 만듦
A = [[0]*13for _ inrange(13)]
# 선분이 12개라서 12번 반복 for _ inrange(12):
a, b = map(int, sys.stdin.readline().split())
# 이어진 두 별의 번호가 가리키는 행렬의 요소를 1로 입력
A[a][b], A[b][a] = 1, 1
li = []
# 스피카는 다른 3개의 별과 이어져 있음for i inrange(1, 13):
ifsum(A[i]) == 3:
li.append(i)
# 스피가와 이어진 별 3개가 이어진 별의 수는 6이고, # li에 저장한 별 중에서 유일하다.for p in li:
s = 0for i, q inenumerate(A[p]):
if q:
s += sum(A[i])
if s == 6:
print(p)
break
import sys
A = [[0]*13for _ inrange(13)]
for _ inrange(12):
a, b = map(int, sys.stdin.readline().split())
A[a][b], A[b][a] = 1, 1for i inrange(1, 13):
s = 0ifsum(A[i]) == 3:
for j, p inenumerate(A[i]):
if p:
s += sum(A[j])
if s == 6:
print(i)
break
행렬보다는 각 번호의 인덱스에 연결된 별의 번호를 추가하는 식으로 푸는 방법
import sys
A = [[] for _ inrange(13)]
for _ inrange(12):
a, b = map(int, sys.stdin.readline().split())
A[a].append(b)
A[b].append(a)
li = []
for i inrange(1, 13):
iflen(A[i]) == 3:
li.append(i)
for p in li:
s = 0for i in A[p]:
s += len(A[i])
if s == 6:
print(p)
break