반응형
https://www.acmicpc.net/problem/16173
16173번: 점프왕 쩰리 (Small)
쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다.
www.acmicpc.net
재귀를 활용한 brute force문제였습니다.
📕 풀이방법
📔 입력 및 초기화
구역크기 n, 구역정보 이차원 배열 board를 선언 후 입력받습니다.
📔 풀이과정
canWin함수를 수행합니다.
오른쪽 또는 아래쪽으로 갈 수 있다면 해당 칸으로 점프합니다.
도착할 수 있다면 1을 도착할 수 없다면 0을 반환합니다.
📔 정답출력
함수 결과값을 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int n, board[3][3];
int canWin(int r, int c){
if(r == n-1 && c == n-1) return 1;
if(0 > r || r >= n || 0 > c || c >= n) return 0;
int ret = 0;
if(r + board[r][c] > r) ret = max(ret, canWin(r + board[r][c], c));
if(c + board[r][c] > c) ret = max(ret, canWin(r, c + board[r][c]));
return ret;
}
int main(){
cin >> n;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> board[i][j];
if(canWin(0, 0)) cout << "HaruHaru";
else cout << "Hing";
}
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 2246 : 콘도 선정 (0) | 2022.05.02 |
---|---|
(C++) - 백준(BOJ) 5671 : 호텔 방 번호 (0) | 2022.05.01 |
(C++) - 백준(BOJ) 1543 : 문서 검색 (0) | 2022.04.22 |
(C++) - 백준(BOJ) 14912 : 숫자 빈도수 (0) | 2022.04.20 |
(C++) - 백준(BOJ) 15489 : 파스칼 삼각형 (1) | 2022.04.18 |