PS

백준 19237. 어른 상어

tose33 2022. 6. 3. 17:17

https://www.acmicpc.net/problem/19237

 

19237번: 어른 상어

첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미

www.acmicpc.net

 

내가 놓쳤거나 실수 헀던 점들: 

 

1. k = 1일 경우, 상어가 이동 후 냄새가 바로 없어져버리기 때문에, 상어가 이동할수 있는 곳이 없는 경우도 있다.

 

2. 이건 내가 처음에 잘못 생각해서 변수들이 많아지고 관리가 어려워졌는데, 하나의 좌표에는 하나의 냄새만 있을수 있다. 

 

3. 처음에 나는 냄새들의 좌표를 큐로 관리했는데, 상어가 죽고 나서도 해당 상어의 냄새는 일정시간 남아 있을수 있기 떄문에, 큐로 관리하면 복잡하고 어려워진다. 

그냥 문제의 그림에서 주어진 것 처럼, 해당 좌표에 어떤 상어의 냄새가 몇초 후 사라지는지 기록하는게 수월하다. 

 

 

위에 나열한 점들 때문에 코드가 복잡해지고 계속 틀렸습니다를 받았다.

이것저것 고쳐봤는데 안되서 그냥 아예 처음부터 다시 여러 변수들을 없앴더니 바로 맞았다. 

이 문제 역시 처음에 조건을 더 잘 따져보고 필요한 변수들이 무엇인지 좀 더 깊게 생각해고 코드를 작성했어야 좋았을 것 같다.