백트래킹2 [백준 C++] 1799번: 비숍 1. 문제https://www.acmicpc.net/problem/1799 2. 알고리즘 분류백트래킹 3. 소스 코드#include #include #define MAX_N 10using namespace std;int n, ans;int map[MAX_N][MAX_N];bool is_visited_upward_right[2 * MAX_N];bool is_visited_downward_right[2 * MAX_N];// DFS 알고리즘void dfs(int diagonal_index, int bishop_cnt) { /* 우상향의 대각선의 index를 모두 탐색했을 경우, * 우상향의 대각선의 갯수 = 2 * (맵의 크기) - 1 * n = 5 => 대각선의 갯수 = 9개 * 1 2 3 4 5 * .. 2024. 5. 15. [백준 C++] 1987번: 알파벳 1. 문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 2. 알고리즘 분류 그래프 이론 그래프 탐색 깊이 우선 탐색 백트래킹 3. 소스 코드 #include #include using namespace std; int R, C; int max_count; // 지나간 최대의 칸 수 int alphabet_table[26]; // 각 알파벳 카운팅용 테이블 char map[20][20]; // 보드 정보 // 방향 배열(상,하,좌,우).. 2023. 6. 9. 이전 1 다음