seung7361   1년 전

예제에 있는건 다 잘 나오는데 반례가 혹시 있을까요? ㅠㅠ

그냥 DFS에다가 지금까지 온 경로를 path vector에다가 저장해놓고 가려는 경로가 path vector에 포함되어있다면 안가도록 만들었는데

어떤 반례가 있을까요?? 부탁드립니다 ㅠㅠ

choko100   1년 전

안녕하세요, 3번 이내 이동으로 가능한지 판단하는 부분에서 반례가 생길 것 같습니다. 19 번 라인에 move_count == 3 인 경우만 체크하게 되어있는데 이걸 move_count <= 3 으로 변경해야할 것 같습니다. 아래와 같이 2번만 이동하고 2번 모두 사과를 먹었지만 더 이상 이동할 수 없는 경우를 커버하지 못합니다.

입력

0 1 1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1 
0 0

정답

1

위의 코드 출력

0

seung7361   1년 전

1달전에 그 부분 발견해서 그렇게 고쳐봤는데도 그냥 틀렸습니다 뜨네요... solved.ac 디코방에도 물어봤었는데 그냥 코드 구조 자체를 처음부터 잘못짠거 같아요. 그냥 드랍했습니다 (.....)

choko100   1년 전

앗...ㅠㅠ... 그래도... 혹시 몰라서... 19 번 라인을 고친 상태라고 가정하고 또 반례를 찾았습니다.

30번과 31번 라인이 다음번에 갈 곳을 대상으로 해야할 것 같은데 현재 위치인 x, y 로 되어있는 것 같습니다. 30번, 31번 라인의 x, y 도 nx, ny 로 하면 아래 반례에 올바른 답이 나옵니다.

입력

0 0 1 1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
0 0

정답

1

위의 코드 출력

0

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