QOJ.ac

QOJ

Time Limit: 9 s Memory Limit: 1024 MB Total points: 100

#1818. Яблоневый сад

Statistics

У фермера Джона на ферме много яблонь. Каждая яблоня создает круговую область тени в жаркие летние дни. Фермер Джон создает загон для своих коров и рассматривает несколько вариантов его расположения. Для каждой огороженной области он хочет знать процент площади, находящейся в тени.

Каждая предлагаемая огороженная область имеет прямоугольную форму, стороны которой параллельны осям координат, и задается координатами левого нижнего угла, а также шириной и высотой. Вычислите процент затененной площади для каждого предложенного прямоугольника.

Входные данные

Первая строка входных данных содержит два целых числа $n$ ($1 \le n \le 3\,000$) и $q$ ($1 \le q \le 3\,000$), где $n$ — количество яблонь в саду фермера Джона, а $q$ — количество прямоугольных областей, которые он хочет проверить.

Каждая из следующих $n$ строк содержит три целых числа $x, y$ ($-10^6 \le x, y \le 10^6$) и $r$ ($1 \le r \le 10^6$). Каждая строка описывает круговую затененную область дерева, где $(x, y)$ — её центр, а $r$ — радиус. Заметьте, что у деревьев могут быть очень искривленные стволы, поэтому возможно, что две затененные области имеют один и тот же центр или даже полностью совпадают.

Каждая из следующих $q$ строк содержит четыре целых числа $x, y$ ($-10^6 \le x, y \le 10^6$), $w$ и $h$ ($1 \le w, h \le 10^6$). Каждая строка описывает прямоугольную область, которую хочет проверить фермер Джон. Прямоугольник имеет диагональ от $(x, y)$ до $(x + w, y + h)$.

Выходные данные

Выведите $q$ строк, каждая из которых содержит одно вещественное число — процент площади прямоугольника, находящийся в тени, в диапазоне от 0 до 100. Выводите проценты для прямоугольников в том порядке, в котором они появляются во входных данных. Каждое значение должно отличаться от ответа жюри не более чем на $10^{-5}$ в относительной или абсолютной погрешности.

Примеры

Входные данные 1

2 2
0 0 3
2 1 4
0 0 3 3
-3 -3 6 6

Выходные данные 1

100.000000000
89.536784729

Входные данные 2

4 3
-1 -1 3
1 -1 3
-1 1 3
1 1 3
-4 -4 8 8
-1 -4 2 8
-3 -1 12 3

Выходные данные 2

87.222142378
98.586991373
57.862330458

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.