문제 링크
- http://icpc.me/15918
문제 출처
- 제2회 천하제일 코딩대회 C번
사용 알고리즘
- 백트래킹
시간복잡도
- O(2n)
풀이
x, y번째 수가 같다는 것은 x, y번째 수가 모두 y-x+1이라는 것을 의미합니다. 그러므로 미리 탐색을 채워주고 시작합시다.
현재 탐색중인 인덱스를 t라고 잡읍시다. 만약 t가 2n이라면 수열을 모두 채운 것이기 때문에 정답을 1 증가시켜줍니다.
만약 t번 인덱스가 아직 채워지지 않았다면, 아직 쓰이지 않은 수 중 삽입 가능한 수 채운 뒤 다음 인덱스부터 재귀적으로 탐색을 합니다.
이미 t번 인덱스가 채워져 있다면 바로 다음 인덱스에서 탐색을 다시 시작하면 됩니다.
전체 코드
1 |
|