muselism   6년 전

왜그럴까요 ㅜㅜ

알고리즘은 딱히 bfs등의 자료구조를 적용하지는 않았습니다.

while문을 돌며 토마토를 검사하고 1주변에 있는 토마토들은 2

2주변은 3... 이런식으로 n 주변에 있는 토마토들은 n+1의 값을 줘가며

모든 토마토가 익을때 까지 while문을 돌렸습니다.

질문글들 찾아가며 모든 테스트케이스 돌려봤는데 제대로 뜨던데 ㅠㅠ 

반례가 뭘까요?

djm03178   6년 전

char형 배열인 arr에 %d로 저장할 경우, int의 크기인 4바이트만큼씩을 scanf가 쓰려고 하기 때문에 주변의 다른 원소의 값이 같이 변경되어버립니다. int로 해야 합니다.

그리고 이 방법으로는 시간 초과가 날 것입니다. 예를 들어, 1000x1000 짜리 상자에 오른쪽 아래 끝만 1이고 나머지가 0인 경우, 모든 토마토가 익는 데에 2000일이 소요되는데 2000일 동안 100만개의 칸을 모두 탐색해야 하므로 20억 칸을 조사해야 하는데, 1초 안에 감당이 될 수준이 아닙니다. 지그재그로 돌아가게 만들면 더욱 오랜 시간이 소요됩니다.

djm03178   6년 전

queue 라는 자료구조에 대해 알아보시기 바랍니다.

muselism   6년 전

아 정말 그렇네요 !! 정말정말 감사드립니다 

muselism   6년 전

자료구조가 정말 중요하군요 ㅜㅜ 배우기만했지 적용이안되네요 감사합니닷

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