2021/10 2

[백준] 내리막 길 1520번 (c++)

출처 : 1520번: 내리막 길 (acmicpc.net) 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 풀이 방법 처음에는 dfs로 풀이하였는데 시간 초과가 나서 dfs에 dp를 적용해서 풀이하여 통과하였다. #include using namespace std ; int M, N, ans = 0; int dp[501][501]; vector board; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; int dfs(int y,int x) { if (y == M-1 ..

Algorithm 2021.10.28

[백준] 나이트의 이동 7562번 (c++)

출처 :7562번: 나이트의 이동 (acmicpc.net) 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 풀이 방법 문제에서 몇 번 만에 갈 수 있는지 구하라 했으므로 bfs를 사용하여 풀이하였다 다른 보편적인 문제(상하 좌우 이동)와 다른 점은 나이트의 이동 경로가 8가지로 다르게 정해져 있었다. 이동 경로를 dy, dx에 저장해 두고 이용하였다. #include using namespace std ; int visited[301][301]; int dy[8] = {1, 2, 2, 1, -1, -2, -2,..

Algorithm 2021.10.26