https://www.acmicpc.net/problem/21316
21316번: 스피카
위 그림은 처녀자리 중 12개의 별을 12개의 선분으로 이어 만든 그림이다. 시은이는 임의로 각 별에 1부터 12까지의 서로 다른 정수 번호를 부여하고, 12개의 정수 쌍으로 각 선분이 어떤 두 별을
www.acmicpc.net
알고리즘 분류에는 그래프이론, 애드 혹(ad-hoc) 이라고 써있는데, 애드 혹이 뭔가 해서 검색해보니
정형화된 방법론이 아니라, 그 문제를 풀기 위한 창의적인 아이디어를 떠올려야 하는 경우에 애드혹 문제 라고 한다고 한다.
해당 문제도 풀 수 있는 방법이 여러 개 있을 것 같은데, 나는 인접리스트 방식으로 그래프를 받은 후에 1~12까지 탐색하면서 연결된 원소가 3개인 경우에 그 각각의 원소에 연결되어 있는 원소의 합을 구해서 그 합이 6인 경우를 출력하였다. 제일 밝게 빛나는 원소의 특징이 뭐가 있을까를 그려보다가 발견한 규칙(?) 이다.
import sys
input = sys.stdin.readline
arr = [[] for _ in range(13)]
for _ in range(12):
x, y = map(int, input().split())
arr[x].append(y)
arr[y].append(x)
for i in range(1, 13):
if (len(arr[i]) == 3):
s = 0
for j in arr[i]:
s += len(arr[j])
if (s == 6):
print(i)
break
'알고리즘💻 > 그래프(DFS&BFS)' 카테고리의 다른 글
BOJ 2210번: 숫자판 점프 (0) | 2021.08.12 |
---|---|
BOJ 9372번: 상근이의 여행 (0) | 2021.08.09 |
BOJ 14496번: 그대, 그머가 되어 (0) | 2021.05.25 |
BOJ 18352번: 특정 거리의 도시 찾기 (0) | 2021.05.25 |
BOJ 10971번: 외판원 순회 2 (0) | 2021.05.12 |