본문 바로가기
알고리즘 문제/Algospot

[algospot][PICNIC] 소풍

by 햄과함께 2019. 5. 28.
320x100

문제 : https://algospot.com/judge/problem/read/PICNIC


N이 10으로 아주 작아서 완전탐색을 돌렸다.

인덱스를 0부터 N까지 탐색하면서 현재 탐색중인 인덱스 사람이 친구가 될 수 있는 쌍을 구한 뒤 인덱스를 탐색한다.

 

N = 4

쌍이 가능한 조합 : (0,1) (1,2) (2,3) (3,0) (0,2) (1,3)

 

라고 한다면 0부터 탐색하면서 0과 쌍이 가능한 조합을 탐색 후, 쌍이 맺어진 사람은 다음번에는 짝을 못이루므로 따로 체크해둔다.

0 : (0,1) -> 1 : 이미 짝이 있음 -> 2 : (2,3) -> 3 : 이미 짝이 있음 -> 4 : 정답 가능 

0 : (0,2) -> 1 : (1,3) -> 2 : 이미 짝이 있음 -> 3 : 이미 짝이 있음 -> 4 : 정답 가능

0 : (0,3) -> 1 : (1,2) -> 2 : 이미 짝이 있음 -> 3 : 이미 짝이 있음 -> 4 : 정답 가능

 

위와 같이 재귀함수가 호출하게 구현한다.


소스코드 : https://gist.github.com/fpdjsns/3bbe557bae7185d9d7b1eeb06302c946

320x100

댓글