[백준] 15684 사다리 조작(Brute force)
2020. 2. 14. 16:09
https://www.acmicpc.net/problem/15684
15684번: 사다리 조작
사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선이 같은 위치를 갖는다. 아래 그림은 N = 5, H = 6 인 경우의 그림이고, 가로선은 없다. 초록선은 세로선을 나타내고, 초록선과 점선이 교차하는 점은 가로선을 놓을 수 있는 점이다. 가로선은 인접한 두 세로선을 연결해야 한다. 단, 두 가로선이 연속하거나 서로
www.acmicpc.net
완전탐색 문제였습니다.
사다리를 0개 1개 2개 3개 사용하는 경우를 나눠 완전탐색 해줍니다.
for(int i=0; i<=3; i++){
solve(0,i);
if(isEnd) {
ans = i;
break;
}
}
* map[]][] 2차원 배열을 사용하여 사다리를 구현합니다.
* map[a][b] = 1, a행의 b열에 1을 넣은건 a행의 b열과 b+1열 사이에 가로선이 있다는 뜻입니다.
* 사다리를 내려갈때 현위치가 1이면 오른쪽으로 가로선이 있다고 생각하고, 현위치 왼쪽에 1이 있다면 왼쪽으로 가로선이 있다고 생각합니다.
* 백트리킹 적으로 사다리를 놓고 빼고를 반복하여 완전탐색 합니다.
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준] 16235 나무 재테크 (0) | 2020.02.18 |
---|---|
[백준] 17837 새로운 게임 2 (0) | 2020.02.15 |
[백준] 9465 스티커 (Dynamic Programming) (0) | 2020.02.07 |
[백준] 1759 암호 만들기 (Back Tracking) (0) | 2020.02.06 |
[백준] 2146 다리 만들기 (DFS, BFS) (0) | 2020.02.05 |