sontg123   3년 전

넘넘 답답합니다..

일단 풀이방법은 x 오름차순 기준 y1,y2값 으로 세그먼트 트리 이용해서 총 길이 구하고 길이가 늘어나건 줄어들건 이전 길이와의 차이를 더해서 세로쪽 총 둘레길이 구하고 마찬가지 방법으로 y오름차순 정렬한 것으로 x1,x2 길이만큼 하나씩 길이 더하고 빼주면서 이전 길이와의 차이 이용해서 가로쪽 둘레길이 더했습니다

일단 테스트케이스는 통과가 되는데 계속50퍼쯤에서 틀리길래 댓글을보고 겹치는 부분 처리를 안해줘서 그런것 같아

겹치는 부분을 처리하기위해 같은 x나 y값이 같게 나오는 경우 한번에 다 처리를 하고나서 길이의 차이를 더했지만 .. (이러면 겹치지 않고 줄어들고 늘어난 경우 줄어들때 한번 늘어날때 한번 길이의 차이를 더해줘야 하는데 줄어들고 늘어난 후 길이를 더하게 되니  안됩니다)


와 이거 선이 겹치는 경우를 어떻게 알아내서 처리해야할지 감도안잡힙니다 ㅜㅜ

코드에 area라고 쓴건 첨에 넓인줄알고 신나서 풀었다가 아 둘레길이구나여서 바꿔 코딩해서 그렇습니다 line으로바꿔 봐주시면될것같습니다

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