본문 바로가기

백준 알고리즘/시뮬레이션43

말이 되고픈 원숭이 C++ https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net #include #include #include #include using namespace std; struct MOVE { int x, y; }; MOVE mv[4] = { { 1,0 },{ -1,0 },{ 0,1 },{ 0,-1 } }; MOVE hmv[8] = { { -2,-1 },{ -1,-2 },{ 1,-2 },{ 2,-1 },{ -2,1 },{ -1,2 },{ 1,2 .. 2022. 4. 11.
2048(Hard) C++ https://www.acmicpc.net/ #include #include #include #include using namespace std; const int MAX = 25; int n; int map[MAX][MAX]; int answer = -1; void MoveBlock(int m[MAX][MAX], int count) { if (count == 10) { return; } int copy[MAX][MAX]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { copy[i][j] = m[i][j]; } } for (int k = 0; k < 4; k++) { int max_v = -1; if (k == 0) { //아래 for (int.. 2022. 4. 7.
로봇 C++ https://www.acmicpc.net/problem/13901 13901번: 로봇 첫 번째 줄에는 방의 크기 R, C(3 ≤ R, C ≤ 1,000)가 입력된다. 두 번째 줄에는 장애물의 개수 k(0 ≤ k ≤ 1,000)가 입력된다. 다음 k개의 줄에는 각 장애물 위치 br(0 ≤ br ≤ R – 1), bc(0 ≤ bc ≤ C - 1)가 www.acmicpc.net #include #include #include using namespace std; struct MOVE { int x, y; }; MOVE mv[4] = { {-1,0}, {1,0}, {0,-1}, {0,1} }; //위, 아래, 왼쪽, 오른쪽 const int MAX = 1002; int map[MAX][MAX]; int r, .. 2022. 4. 6.
보이저 1호 https://www.acmicpc.net/problem/3987 3987번: 보이저 1호 첫째 줄에 시그널을 보내는 방향을 출력한다. (U: 위, R: 오른쪽, D: 아래, L: 왼쪽) 만약, 방향이 여러 가지가 존재한다면, U, R, D, L의 순서 중 앞서는 것을 출력한다. 둘째 줄에는 가장 긴 시간을 출 www.acmicpc.net #include #include #include using namespace std; struct MOVE { int x, y; }; MOVE mv[4] = { {-1,0}, {0,1}, {1,0}, {0,-1} }; //위, 오른쪽, 아래, 왼쪽 const int MAX = 505; char map[MAX][MAX]; int n, m; pair loc; int ans.. 2022. 4. 6.