본문 바로가기

백준 알고리즘/DFS18

주사위 굴리기 2 https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net #include #include #include using namespace std; const int MAX = 22; int n, m; int map[MAX][MAX]; int answer = 0; pair loc; int curdir = 1; //1:동, 2:서 3:남 4:북 struct MOVE { int x, y; }; MOVE mv[5] = { {-1,-1}, {0,1.. 2021. 12. 4.
원판 돌리기 C++ https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net #include #include using namespace std; int n, m, t; vector v; int x, d, k; int answer = 0; struct MOVE { int x, y; }; MOVE mv[4] = { {1,0}, {-1,0}, {0,1}, {0,-1} }; vector visited(n + 1); bool del = false; void Mov.. 2021. 10. 16.
마법사 상어와 파이어스톰 C++ https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net #include #include #include #include using namespace std; const int MAX = 70; int n, q,l; int map[MAX][MAX]; int tmp[MAX][MAX]; int sz; struct MOVE{ int x,y; }; MOVE mv[4] = { {1,0}, {-1,0}, {0,1}, {0,-1} }; int m.. 2021. 9. 22.
상어 중학교 C++ https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net #include #include #include using namespace std; const int MAX = 21; //검은색 -1, 무지개 0, 일반 1~M int n, m; int map[MAX][MAX]; int answer = 0; vector bl; pair middle; int rain_num = 0; vector tmp; pair middle_tmp; int rain_tmp .. 2021. 9. 18.