맥주 코스터

시간 제한2초메모리 제한512 MB

요약
원과 축에 평행한 직사각형이 겹치는 넓이를 두 대각 꼭짓점 좌표로부터 계산한다.
난이도

보통10점 중 7점

유형
기하, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

흔히 평범한 술집에서는 맥주를 안쪽이 젖어 있고 바깥쪽도 젖어 있는 맥주잔에 담아 낸다. 바텐더는 보통 갓 씻은 잔을 말릴 여유가 없다. 테이블과 (있을 수도 있는) 테이블보를 보호하기 위해 대부분의 술집에서는 맥주 코스터를 사용한다. 원래 맥주 코스터는 둥근 모양이었지만 오늘날에는 다양한 모양을 찾아볼 수 있다. 다소 파격적으로 여겨지지만, 정사각형 코스터와 심지어 직사각형 코스터도 제작되어 높은 수준이든 낮은 수준이든 자존심 있는 많은 식당, 선술집, 맥주집, 음주업소에서 매일 사용된다.

널리 알려진 풍자상인 이그 노벨상과 관련된 연구가 지역 술집에서 진행되고 있다. 이 연구는 직사각형 코스터의 마모율을 측정하는 것을 목표로 한다. 마모율은 코스터가 젖은 맥주잔 바닥과 접촉하여 얼마나 젖는지에도 달려 있다. 이는 다시 맥주잔과 코스터 사이의 정확한 접촉 면적에 달려 있다. 맥주잔을 코스터 위에 놓을 때마다 코스터와 맥주잔의 정확한 위치가 테이블 위에서 기록된다.

연구에서 이루어지는 많은 정교한 계산은 접촉 면적을 입력으로 받으며, 이는 적절한 컴퓨터 프로그램으로 계산해야 한다. 여러분은 그러한 프로그램을 작성해야 한다.

입력

입력은 한 줄에 공백으로 구분된 7개의 정수로 이루어진다. 처음 세 정수 X, Y, R은 테이블 위 맥주잔 바닥의 좌표를 나타낸다. 맥주잔 바닥의 중심은 (X, Y)이고 맥주잔 바닥의 반지름은 R이다. 다음 네 정수 Ax, Ay, Bx, By는 테이블 위 코스터의 서로 반대편에 있는 두 모서리 (Ax, Ay)와 (Bx, By)의 좌표를 나타낸다. 코스터는 변이 좌표축에 평행하게 놓인 직사각형이다. 모든 좌표는 −1 000 이상 1 000 이하이고, 반지름은 1 이상 1 000 이하이다. 반지름과 좌표는 같은 길이 단위로 표현된다.

출력

코스터와 맥주잔 사이의 접촉 면적을 소수점 아래 4자리까지 정확하게 출력한다.

예제1

  1. 예제 1

    입력
    -1 0 2 -1 -2 3 2
    
    예상 출력
    6.2832