shaing123   5년 전

제 로직을 말씀드리자면 로봇의 위치와 더러운칸 사이에 거리를 bfs를 사용하여 계산하여 

dis 벡터에 저장하였습니다.

또한 더러운칸에서 다른 더러운칸이나 로봇의 거리까지도 bfs를 통하여 각 더러운칸마다 bfs를 돌려 dis벡터에 저장하

였습니다.

이를 토대로 로봇의위치는 index 0으로 고정하고 나머지를 순열을 이용하여 최솟값을 찾았습니다.

어느 부분에서 간과하고 지나갔는지... 조언 좀 부탁드립니다. 반례도 부탁 드리겠습니다.. 

shaing123   5년 전

반례는 https://icpc.iisf.or.jp/past-i...에서 찾았으며

13라인에 벡터를 초기화하는것을 main함수 내부로 넣었습니다. 그 이유는 처음 while문 이후로는 dir[0]이 로봇의 위치를 항상 갖지않는다는 것을 간과하였습니다.

또한 순열에서 이중포문으로 시간을 많이 잡아먹어 고생하였습니다.

2차원 배열을 통하여 2중포문은 하나의 for문으로 변경하여 성공하였습니다.

혹여 도움이 될까 스스로 답변 달아 봅니다.

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