반응형

백준 2

[백준][5427번]불[cpp, c++]

백준 5427번 불 BFS + 시뮬레이션 문제이다. 이런 문제는 실수가 종종 나와서 시간을 많이 잡아먹는다. https://www.acmicpc.net/problem/5427 풀이방법 1) 최단 거리를 찾아야함으로 bfs를 쓴다. 2) 불이 먼저 붙고, 사람이 먼저 움직인다. 3) 불에 대한 bfs - > 사람에 대한 bfs를 사용한다. 4) q의 사이즈를 이용하여 bfs 한다. 함수 설명 1) input_data() : 입력 받는 함수 , 이때 큐에 값을 push 해주는 것이 중요하다. (시간 단축) 2) bfs(): 불에 대한 bfs, 사람에 대한 bfs가 순차적으로 이뤄진다. 큐 사이즈를 이용해서 bfs를 진행시키면 되고, 사람bfs에서 범위를 나갔을 때 탈출한 것이라고 가정하면 된다. 3) sol..

[백준][3055번] 탈출[cpp, c++]

백준 3055번 탈출 BFS + 시뮬레이션 문제였다. https://www.acmicpc.net/problem/3055 3055번: 탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제일 친한 친구인 비버의 굴로 가능한 빨리 도망가 홍수를 피하려고 한다. 티떱숲의 지도는 R행 C열로 이루어져 있다. 비어있는 곳은 '.'로 표시되어 있고, 물이 차있는 지역은 '*', 돌은 'X'로 표시되어 있다. 비버의 굴은 'D'로, 고슴도치의 위치는 'S'로 나 www.acmicpc.net 풀이 방법 1) 시뮬레이션을 생각하면, 고슴도치 이동 - > 물이 차오름, 을 구현하면..

반응형