https://www.acmicpc.net/problem/7569문제 요약 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있습니다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관합니다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있습니다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 됩니다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미합니다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정합니다. 철수는 ..
https://www.acmicpc.net/problem/3055문제 요약사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 합니다. 이 숲에는 고슴도치가 한 마리 살고 있습니다. 고슴도치는 제일 친한 친구인 비버의 굴로 가능한 빨리 도망가 홍수를 피하려고 합니다.티떱숲의 지도는 R행 C열로 이루어져 있습니다. 비어있는 곳은 '.'로 표시되어 있고, 물이 차있는 지역은 '*', 돌은 'X'로 표시되어 있습니다. 비버의 굴은 'D'로, 고슴도치의 위치는 'S'로 나타내어져 있습니다.매 분마다 고슴도치는 현재 있는 칸과 인접한 네 칸 중 하나로 이동할 수 있습니다. (위, 아래, 오른쪽, 왼쪽) 물도 매 분마다 비어있는 칸으로 확장합니다..
https://www.acmicpc.net/problem/5014문제 요약강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했습니다. 오늘은 강호의 면접날입니다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았습니다.스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트링크가 있는 곳의 위치는 G층입니다. 강호가 지금 있는 곳은 S층이고, 이제 엘리베이터를 타고 G층으로 이동하려고 합니다.보통 엘리베이터에는 어떤 층으로 이동할 수 있는 버튼이 있지만, 강호가 탄 엘리베이터는 버튼이 2개밖에 없습니다. U버튼은 위로 U층을 가는 버튼, D버튼은 아래로 D층을 가는 버튼 입니다. (만약, U층 위, 또는 D층 아래에 해당하는 층이 없을 때는, 엘리베이터는 움직이지 않습니..
https://www.acmicpc.net/problem/16948문제 요약게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었습니다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있습니다.크기가 N×N인 체스판과 두 칸 (r1, c1), (r2, c2)가 주어진다. 데스 나이트가 (r1, c1)에서 (r2, c2)로 이동하는 최소 이동 횟수를 구해보자. 체스판의 행과 열은 0번부터 시작합니다.데스 나이트는 체스판 밖으로 벗어날 수 없습니다. O O O 데스 나이트 O O O 문제 풀이1. 체스판 크기를 입력받고 나이트의 위치와 목표..
https://www.acmicpc.net/problem/7562문제 요약체스판 위에 한 나이트가 놓여져 있습니다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있습니다. 나이트가 이동하려고 하는 칸이 주어집니다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있는지 구해야 합니다.문제 풀이1. 체스판의 개수를 입력받고 체스판 개수만큼 반복합니다.2. 체스판의 크기를 입력받습니다.3. 체스판의 크기를 재정의 하고 방문 체크 배열을 false로 초기화합니다.4. bfs함수를 만드는데 탐색 범위는 나이트의 이동 범위에 맞게int dx[8] = { 1,2,2,1,-1,-2,-2,-1 };int dy[8] = { 2,1,-1,-2,-2,-1,1,2 };로 합니다.5. 탐색을 마쳤으면 원하는 위치의 가..
https://www.acmicpc.net/problem/21736문제 요약2020년에 입학한 헌내기 도연이가 있습니다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었습니다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 싶습니다.도연이가 다니는 대학의 캠퍼스는 N×M$N \times M$ 크기이며 캠퍼스에서 이동하는 방법은 벽이 아닌 상하좌우로 이동하는 것입니다. 예를 들어, 도연이가 (x$x$, y$y$)에 있다면 이동할 수 있는 곳은 (x+1$x+1$, y$y$), (x$x$, y+1$y+1$), (x−1$x-1$, y$y$), (x$x$, y−1$y-1$)입니다. 단, 캠퍼스의 밖으로 이동할 수는 없습니다.불쌍한 도연이를 위하여 캠퍼스에서 도연이..