오랫동안 풀지 못했던 문제를 겨우겨우 풀어내었다. 

물론 약간의 힌트를 얻고 나서였다. 


격자 모양의 상자에 토마토가 들어있는데, 토마토는 한 시간당 주위의 것을 익혀나간다. 

모든 토마토가 익는데 걸리는 시간을 구하여라 였다. 


토마토는 여러 군데 익은 상태의 것이 있을 수 있었고,

어쨋든 나는 bfs로 수행하는 데까지는 잘 방향을 잡았다. 

익은 토마토마다 bfs함수를 한 번씩 실행하게 했는데, 이 것이 미쓰였다. 

맨 처음에 이미 익은 토마토를 한 번에 큐에 담았다가 bfs를 한 번만 수행하면 되는 것이 포인트였다. 

여러 예외 처리를 할 필요도 없고, 그리고 더군다나 이 것이 가장 정확한 방법이었다. 


bfs의 원리에 대해서 정확히 알지 못 한채 문제를 풀어서 못 푼 것이었다. 

bfs에 대해서 좀 더 정확히 이해할 수 있게 해준 문제


여러 군데에서 동시에 bfs를 수행해야 하는 경우 한번에 큐에 담아 내는 방법에 대해서 활용 할 줄 알고 이해해야 한다.

'알고리즘문제풀이' 카테고리의 다른 글

2581_소수  (0) 2015.04.27
2529_부등호  (0) 2015.04.27
더블릿_줄 세우기  (0) 2015.04.26
더블릿_고기잡이, 7573_고기잡이  (0) 2015.04.24
더블릿_개미  (0) 2015.04.24
Posted by slender ankles
,