snstfka02   4년 전


전형적인 BFS문제라고 해서 BFS로 하나씩 walkCount를 대입해나가면서 

칼을 찾았을때 -> 칼을 찾지 않고 더 빨리 갈 수 있다면 칼 찾고 가는 걸음수를 적용하지 않고

칼을 찾고 가는게 더 빠를땐 칼을 찾고 가는 것으로 문제를 풀었습니다.

채점한 30프로 가다가 틀렸습니다 뜨는데 반례를 못찾겠네요......도와주십쇼! 

주석 처리한 부분은 walk : 각 칸에 도달하는 걸음수 visited : 방문을 했다면 1 안했다면 0인 확인 부분입니다!

heize   4년 전

4 4 10

0 0 0 0

0 0 1 0

0 1 2 1

0 0 0 0

정답 : 6

작성자님의 가장 최근에 틀린 소스의 output : 8  

wjddydgns99   4년 전

검을 주운 경로와 줍지 않은 경로가 겹칠때 문제가 생깁니다.

둘 중 어느 하나가 이미 방문했던 것이라면 나머지 하나는 그 점을 제외하고 탐색합니다.

snstfka02   4년 전

문제는 이내를 미만으로 착각하고.. 등호를 붙인거였습니다..

wjddydgns99   4년 전

추가로 이 문제에서는 안걸리는 것 같은데, 하나만 더 말씀드리면 저렇게 bfs하시면 queue의 허용범위를 초과해서 값들이 들어가기도 해서 런타임에러가 뜨더라구요.(런타임에러였나?)

다른문제에서 그렇게 하다 런타임에러 걸렸던 기억이 있네요.

1. queue에 넣고 2.현재 queue가 조건에 부합하는지 보시지 말구, 

1. 조건에 부합하면 2. queue에 넣음과 동시에 방문처리 해주시는게 좋을 거에요..

저렇게 하시면 queue에 필요 없이 같은 값들이 여러개 들어가 있을 수 있어요. 

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