10216번 - Count Circle Groups
다른 질문을 봐도 이해가 되지 않아 올립니다.
25%정도에서 런타임 에러가 나와서 수정했더니 50%에서 런타임 에러가 나옵니다.
고수분들 부탁드립니다 ㅜㅜ
x, y (0 ≤ x, y ≤ 5,000)
이면 x, y 는 5001개입니다.
map = new int[5000][5000];
에서 문제가 생겼을듯싶네요.
따로 처리하셨는지는 안봤지만, 어쨌든 어떤방식으로든 문제가 생길듯합니다.
일단 x가 5000, r이 0이면(0이상이므로 가능)
69번째줄에서 i<5000으로 튕기겠군요.
추가로
이 방식으로 하실 경우, 닿아있지 않아도 그룹으로 판단할 여지가 있습니다.
반례입니다.
전 아직 안풀어보긴 했는데 저거 답이 2가 나와야 맞는거죠?!
1 2 0 0 1 0 3 1
감사합니다
바운더리 영역을 제대로 체크하지 못했네요ㅜㅜ
그리고 두번째 반례를 들어주신거는 문제지문의
'만약 임의의 통신영역 Ai와 Aj가 닿거나 겹치는 부분이 있다면 진영 i와 진영 j는 직접적으로 통신이 가능하다' 라는 부분으로 미루어보아
닿는다고 생각하기 때문에 통신이 가능한 부분 아닌가요?
음 애매하네요 말이 좀.
0 0 10 2 1
이러면 서로 간격 0으로 닿는거고
0 0 1
0 1 1
이러면 겹치는거구요.
0 3 1
이러면 0 0에서 범위 1, 0 3에서 범위 1이니
사실 0 1 ~ 0 2 부분이 빈다고 봐야하지 않을까 싶긴합니다.
댓글을 작성하려면 로그인해야 합니다.
quf9484 4년 전
다른 질문을 봐도 이해가 되지 않아 올립니다.
25%정도에서 런타임 에러가 나와서 수정했더니 50%에서 런타임 에러가 나옵니다.
고수분들 부탁드립니다 ㅜㅜ