-
1987번 알파벳 | DFS | 백준 5014 C++ 코드[백준 알고리즘]/[C++] 2021. 3. 9. 10:32728x90반응형
이번 포스팅은 백준 1987번 알파벳입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
기본 알고리즘
DFS 깊이 우선 탐색
백트래킹
전체 코드
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950//백준1987 알파벳#include <iostream>using namespace std;int R, C;const int MAX = 21;char map[MAX][MAX];bool alphabet[26];int dy[] = { 0,0,-1,1 };int dx[] = { -1,1,0,0 };int ans;int max(int i, int j) {if (i > j)return i;elsereturn j;}void DFS(int y, int x, int cnt) {ans = max(ans, cnt);for (int i = 0; i < 4; i++) {int ny = y + dy[i];int nx = x + dx[i];if (ny < 0 || nx < 0 || ny >= R || nx >= C)continue;if (alphabet[map[ny][nx]-'A']==false) {alphabet[map[ny][nx] - 'A'] = true;DFS(ny, nx, cnt + 1);alphabet[map[ny][nx] - 'A'] = false;}}}int main() {cin >> R >> C;for (int i = 0; i < R; i++) {for (int j = 0; j < C; j++) {cin >> map[i][j];}}alphabet[map[0][0] - 'A'] = true;DFS(0, 0, 1);cout << ans;}cs 728x90반응형'[백준 알고리즘] > [C++]' 카테고리의 다른 글
백준 1620 나는야 포켓몬 마스터 이다솜 | C++ (0) 2021.03.11 백준 2583 영역 구하기 | BFS | C++ (0) 2021.03.11 5014번 스타트링크 | BFS | 백준 5014 C++ 코드 (0) 2021.03.03 2589번 보물섬 | BFS | 백준 2589 C++ 코드 (1) 2021.03.03 2468번 안전영역 | BFS, DFS | 백준 2468 C++ 코드 (0) 2021.03.02