320x100
문제 : https://algospot.com/judge/problem/read/CLOCKSYNC
완전탐색으로 돌린다.
만약 하나의 스위치를 4번 돌리면 원래 상태와 같아진다.
따라서 하나의 스위치를 0~3번 돌리면서 탐색해나간다.
void solve(시계상태, 스위치 번호, 스위치 누른 횟수){
for (현재 스위치 누른 횟수 = [0,4)) {
solve(시계상태, 스위치 번호 + 1, 스위치 누른 횟수 + 현재 스위치 누른 횟수);
스위치 한 번 눌렀을 때 시계상태 갱신.
}
}
의사 코드로 짜면 위와 같다.
여기에 몇 가지 종료 조건과 정답 갱신하는 코드 추가해준다..
시간복잡도는 O(4^10). 10은 스위치 개수이다.
소스코드 : https://gist.github.com/fpdjsns/78c84f397632a716b5f5477ee4dafdf6
320x100
'알고리즘 문제 > Algospot' 카테고리의 다른 글
[algospot][JLIS] 합친 LIS (0) | 2019.06.07 |
---|---|
[algospot][WILDCARD] Wildcard (0) | 2019.06.03 |
[algospot][BOARDCOVER] 게임판 덮기 (0) | 2019.05.31 |
[algospot][PICNIC] 소풍 (0) | 2019.05.28 |
[algospot][QUADTREE] 쿼드 트리 뒤집기 (0) | 2019.05.24 |
댓글