Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Шары

(Время: 2 сек. Память: 16 Мб Сложность: 37%)

В пространстве расположен шар, заданный координатами своего центра X,Y,Z и радиусом R. К нему добавляется не более N новых шаров, которые также описываются координатами центров Xi, Yi, Zi и радиусами Ri (1 ≤ i ≤ N).

Шары добавляются до тех пор, пока есть хоть один шар, не пересекающийся с другими шарами. Требуется определить номер шара, после которого процесс добавления шаров можно прекратить.

Примечание:

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

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

Входной файл INPUT.TXT содержит четыре вещественных числа разделенных пробелами X, Y, Z, R - параметры исходного шара (|X, Y, Z| ≤ 30000; 0 < R ≤ 30000). Вторая строка содержит целое число N - количество шаров, которые предполагается добавить (1 ≤ N ≤ 5000). Следующие N строк содержат по четыре вещественных числа Xi, Yi, Zi, Ri - параметры i-го шара (1 ≤ i ≤ N; |Xi, Yi, Zi| ≤ 30000; 0 < Ri ≤ 30000).

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

В выходной файл OUTPUT.TXT выведите номер шара, после которого процесс добавления шаров можно остановить, или 0 - если даже после добавления всех имеющихся шаров остается хотя бы один шар, не пересекающийся с другими.

Пример

INPUT.TXTOUTPUT.TXT
12 2 1 1
3
5 2 2 1
3 3 3 1.5
8 8 8 1
2

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]

Красноярский краевой Дворец пионеров, (c)2006 - 2020, E-mail: admin@acmp.ru