7569번 - 토마토
안녕하세요.
반례를 찾고 찾다 코드가 동작하지 않는 반례 하나를 찾았습니다.
하지만 제 논리에 의하면 정상적으로 동작해야 하나 동작하지 않는데, 뭐가 문제일까요?
5 3 10 0 0 0 00 1 0 1 00 0 0 0 0
이라는 값을 넣으면, graph[][][]에는
[3, 2, 3, 2, 3], [2, 1, 2, 1, 2], [3, 2, 3, 2, 3] 이 들어가 최종적인 답은 2가 나와야 합니다만, 저의 코드에서는
[3, 2, 3, 4, 5], [2, 1, 2, 1, 6], [3, 2, 3, 4, 5] 이 나와 최종적인 답이 5가 됩니다.
무엇이 틀렸을 까요?
방문 정보를 저장하는 배열 대신 graph[][][] 배열 내의 숫자가 0이 아니면 방문을 한 것으로 보고 큐에 enqueue하지 않도록 하여 방문 정보 저장 배열을 뺐습니다.
82번째 줄을 빼야하지 않을까요? 코드대로면 2번째 첫번째 1에서 모든 토마토를 순회해서 거리가 5가되는거같습니다
토마토 하나에서 모든점을 순회하니 나머지 토마토는 순회할 필요가 없어지는거같네요
댓글을 작성하려면 로그인해야 합니다.
wkddnjsdlr 3년 전
안녕하세요.
반례를 찾고 찾다 코드가 동작하지 않는 반례 하나를 찾았습니다.
하지만 제 논리에 의하면 정상적으로 동작해야 하나 동작하지 않는데, 뭐가 문제일까요?
5 3 1
0 0 0 0 0
0 1 0 1 0
0 0 0 0 0
이라는 값을 넣으면, graph[][][]에는
[3, 2, 3, 2, 3], [2, 1, 2, 1, 2], [3, 2, 3, 2, 3] 이 들어가 최종적인 답은 2가 나와야 합니다만, 저의 코드에서는
[3, 2, 3, 4, 5], [2, 1, 2, 1, 6], [3, 2, 3, 4, 5] 이 나와 최종적인 답이 5가 됩니다.
무엇이 틀렸을 까요?
방문 정보를 저장하는 배열 대신 graph[][][] 배열 내의 숫자가 0이 아니면 방문을 한 것으로 보고 큐에 enqueue하지 않도록 하여 방문 정보 저장 배열을 뺐습니다.