[BOJ]17085번: 십자가 2개 놓기(c++)
www.acmicpc.net/problem/17085 17085번: 십자가 2개 놓기 첫째 줄에 격자판의 크기 N, M (2 ≤ N, M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에 격자판의 상태가 주어진다. 항상 두 개의 십자가를 놓을 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 브루트 포스 #include #include #include using namespace std; template using d_vector = vector; struct pos { int y, x; }; // right, down, left, up int dr_y[] = {0, 1, 0, -1}; int dr_x[] = {1, 0, -1, 0}; int N, M; vector board; // 십자가(..
2020. 9. 15.
[BOJ]2234번: 성곽 (c++)
www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 n, m이 주어진다. 다음 m개의 줄에는 n개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net BFS #include #include #include #include using namespace std; template using d_vector = vector; int dr_y[] = {0, -1, 0, 1}; int dr_x[] = {-1, 0, 1, 0}; int N, M; d_vector castle; d_vector labeled_castle; // 방 번호(1부터 시작)를 라벨링할 2차원..
2020. 9. 12.