kookies371   3년 전

풀이 방법:

1. 20개의 점을 일단 모두 더해 sum_x, sum_y에 저장

2. 20개의 점 중 10개의 점을 DFS를 이용해 뽑아 sum_x에서 두 번 뺄고, 그 결과를 result에 저장

(여기서 result에 오버플로우가 나는 것을 방지하기 위해 long long 형 사용)

3. result 중 최솟값을 뽑아 최종적으로 sqrt(result)를 출력

검사해본 예시

1. 문제에 나온 예시

2. 0 0 / 1 1 / 2 2 / 3 3 : 0 나오는 것 확인

3. 100000 100000 (10개) / -100000 -100000 (9개) / -99999 -99999 : sqrt(2) 나오는 것 확인

(3번은 '같은 점은 없다'라는 문제의 조건과는 맞지 않지만 점의 갯수가 많을 때 무슨 일이 일어나는지 확인해보기 위한 예시)

무엇이 문제일까요...?

1207koo   3년 전

25번째 줄: ++count로 for문 돌 때마다 count가 올라가는 것 같습니다.

49번째 줄: i<=n/2로 해야 할 것 같습니다. 시작 위치가 n/2가 가능한 것으로 보입니다.

대충 훑어본 거라 틀릴 수도 있지만 가장 가능성이 높은 두 가지 입니다.

kookies371   3년 전

말씀하신 두 부분 수정했더니 맞았습니다!

정말 감사합니다!!

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