2018. 1. 5. 23:48, 알고리즘/BOJ
https://www.acmicpc.net/problem/9663
문제 자체는 백트래킹을 이용해서 전수조사로 해결해야 합니다. (찾아보니 문제 자체는 NP-Hard일 것 같지만 사실 Polynomial Problem이라고 합니다. http://dl.acm.org/citation.cfm?id=101343 참고) 이 때 말의 상태를 전역변수로 두면 인자로 주고 받는 변수를 조금 줄일 수 있습니다
코드 자체는 짧은데 막상 짤 때는 헷갈리는게 많아서 좀 긴가민가 했습니다만 다행히 한 번에 바로 맞았습니다.
여담으로 실행시간이 말도 안되게 짧은 풀이들이 있길래 확인해보니 그냥 N=1 to 14에 대한 값을 미리 배열에 저장해놓고 출력하는 방식으로 해결한 것들이었습니다 :(
https://github.com/encrypted-def/BOJ/blob/master/9663.cpp
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 9625번: RIJEČI (0) | 2018.01.06 |
---|---|
[BOJ] 2590번: 색종이 (0) | 2018.01.05 |
[BOJ] 2004번: 조합 0의 개수 (0) | 2018.01.05 |
[BOJ] 2302번: 극장 좌석 (0) | 2018.01.05 |
[BOJ] 1915번: 가장 큰 정사각형 (0) | 2018.01.05 |
[BOJ] 11504번: 가장 긴 바이토닉 부분 수열 (0) | 2018.01.05 |
Comments