putisong   2년 전

게시판에 있는 반례 돌려봤는데, 채점에는 틀렸다고 하네요

어디가 오류인지 체크 부탁드립니다

alsrjs0725   2년 전

print(min(min(ans), 64-min(ans))) 이 구간에서 잘못되셨습니다

검사를 한 색으로만 하셔서 바꿔 칠해야 할색이 32개 초과로 나온 경우도 있는데 가장 작은 수를 기준으로만 생각하셔서 ans가 63,62와 같이 나와버리면 답은 64 - 63인 1이 나와야하는데 64 - 62인 2가 나와버려서 오답이 뜨는것입니다

64-min(ans)를 64-max(ans)로 바꾸신 후 제출하시면 정상적으로 정답이 뜰겁니다

혹시 어떻게 다른지 디버깅으로 확인해보고싶다 하시면 수정전과 수정 후 코드에 반례인

9 8
WWWWWWWW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
WBWBWBWB

를 넣어서 돌리면서 확인해보시면 좋을것같습니다

putisong   2년 전

자세한 설명에 감사합니다

32 이하는 항상 min(ans)에 걸리니까 처음 코드는 의미가 없었네요

큰 도움 되었습니다

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