qktlf789456   3년 전

https://www.acmicpc.net/source...



입니다.


아무리 찾아봐도 0,0 원점에서부터 시작된경우 하나를 빼주는것을 구분하는것을 찾지못했습니다... 어디부분일까요?


@palilo



palilo   3년 전

원점 (0, 0)과 이어진 직사각형이 없다면 분리 집합의 개수를 그대로 출력해야 하고 이어진 직사각형이 있다면 개수에서 하나를 빼줘야 하는데, 제 코드에선 이걸 왜 구분하지 않는지 궁금하신 건가요? (제가 잘못 이해한 거면 말씀해주세요)

x1 = y1 = x2 = y2 = 0인 넓이 0짜리 가상의 직사각형을 추가하고, N + 1개의 직사각형에 대해 분리 집합의 개수를 구해주면 항상 원점과 이어진 직사각형이 있으므로 무조건 답은 분리 집합 개수 – 1입니다. 즉, 첫 번째 경우(원점과 이어진 직사각형이 없는 경우)는 무시해도 돼요.

제 코드에서 0번째 인덱스는 입력을 받지 않았으므로, x1[0] = y1[0] = x2[0] = y2[0] = 0으로 남아있어요,

qktlf789456   3년 전

아 그래서 1번부터 입력을 받은것이였군요.. 자동으로 0으로 초기화된다는것을 간과하고있었습니다..

너무 깔끔하고 멋진코드로 더 좋은 공부가 된것같습니다. 감사드립니다. 좋은하루되세요!!

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