Сервер олимпиад

Ставропольский государственный университет

Имя
Пароль

Server Off-Line
Server time: 22 Dec 2024 06:17:03

Банк задач


Номер задачи - 21

Задача Физика

Ограничение 3 сек. на тест

У Студента в саду растет яблоня. Воодушевленный историей об Исааке Ньютоне, который, как известно, открыл закон всемирного тяготения после того, как ему на голову упало яблоко, Студент, надеясь повысить свою успеваемость по физике, часто сидит под яблоней. А так как наш Студент учится на прикладной математике, то яблоки с его яблони падают с некоторым пренебрежением к законам физики, а именно: в какой-то момент одно из яблок отрывается от ветки, на которой оно висит, и начинает падать строго вниз. Если в некоторый момент оно задевает другое яблоко, то то яблоко тоже отрывается от своей ветки и начинает падать вниз, при этом первое яблоко не меняет направления своего падения. Вообще, если любое падающее яблоко заденет другое яблоко на своем пути, то оно (другое) яблоко также начнет падать.

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

Выясните, сколько и какие яблоки упадут с яблони Студенту на голову или хотя бы коснутся ее (мы тоже пренебрежем некоторыми законами природы, и будем считать голову шаром).

Формат входных данных

Первая строка исходных данных содержит четыре числа Xg, Yg, Zg – координаты самой верхней точки головы Студента, RadG – радиус окружности-головы Студента.

Вторая строка содержит N - количество яблок на яблоне (1 <= N <= 200). Следующие N строк содержат описания яблок. Будем считать все яблоки шарами. Каждое яблоко задается координатами своей самой верхней точки (той, где оно исходно прикреплено к дереву, длиной черенка пренебрежем) xi, yi и zi и радиусом ri ( 10000 <= xi, yi, zi <= 10000, Zg< ri <= 10000, все числа целые).

Гарантируется, что изначально никакие яблоки не пересекаются (даже не соприкасаются). Ось OZ направлена вверх.

Формат выходных данных

Выведите в первой строке количество яблок, которые упадут с яблони на голову студента (или коснутся головы Студента), если начнет падать первое яблоко. На следующей строке выведите номера свалившихся на голову яблок, если таковые были. Яблоки нумеруются, начиная с 1, в том порядке, в котором они заданы во входном файле.

Примеры

ВходВыход
0 0 0 10
4
0 0 20 4
5 0 13 1
0 1 17 1
1 2 3
3
1 2 4
Rambler's Top100 | Карта сайта | Контакты | Copyright © 2005-2007, Ставропольский государственный университет.