kc0275   5년 전

안녕하세요 자꾸만 시간초과가 떠서 답답한 마음에 질문을 올립니다.

제가 생각한 방법은

  1. 시작할 때 1로 시작하는 것들의 좌표를 저장
  2. 1에서 저장한 좌표들로 BFS 를 돌리며 인접토마토에 1을 더해 level 을 저장
  3. 최종 인접행렬을 검사하며 최대 level - 1 을 프린트

입니다.

이중 for 문이 많이 사용되기는 하는데, 인접행렬로 밖에 풀 수 없는 문제이기 때문에 불가피한 부분이라고 생각했습니다...

어떤 부분을 고쳐야 시간초과 문제를 해결 할 수 있을까요....

많은 도움 부탁드립니다...ㅠ

djm03178   5년 전

정확하게 이런 코드를 저격하는 데이터를 제가 https://www.acmicpc.net/board/... 에 만들었습니다.

토마토 하나당 전체를 탐색하러 들어가면 안 되고, 모든 토마토로부터 동시에 시작해야 합니다.

kc0275   5년 전

정말 감사합니다....ㅠ

동시에 시작하는것은 생각하지 못했는데 그런 방법이 있었네요...

덕분에 맞았습니다...ㅠ 3차원 토마토도 얼른 수정해서 토마토 마스터가 되어야 겠어요!

정말 감사합니다!!! 행복한 연말되세요!!!

댓글을 작성하려면 로그인해야 합니다.