[문제]
https://www.acmicpc.net/problem/4179
4179번: 불!
입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문
www.acmicpc.net
[문제 풀이]
문제 조건 제한이 까다로워 실수가 많았던 문제.
BFS 에 익숙하지 않다 보니 초반에 코드가 더러워서 보기가 힘들었던 부분이 많았다.
BFS나 DFS등을 쓸 때는 변수명을 잘 지으면서 최대한 코드를 보기 편하게 만들자.
먼저 불꽃이 가는 곳을 모두 만들고 다음으로 지훈이를 옮기자.
* 팁 : 불꽃이 가는 곳은 기본 미로가 아닌 다른 불꽃 미로를 만들어두자. 안 그러면 나중에 지훈이가 미로를 돌아다닐때 비교하기가 힘들어진다. 나중에 익숙해지면 미로 하나에 넣을 수 있을테지만 우선은 따로 만들어서 연습을 해보자.
[새로 배운 문법]
pair 안에 pair를 놨둠으로서 tuple을 대신 할 수 있다.
gcc 11 이하의 경우에는 tuple을 사용할 수 없으니 해당 방법을 익혀두는 것도 나쁘지 않을 것.
[코드]