10829. Яблуко від яблуні


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У Петрика у саду росте яблуня. Натхненний історією про Ісаак Ньютон, який, як відомо, відкрив закон всесвітнього тяжіння після того, як йому на голову впало яблуко, Петя з метою підвищити свою успішність з фізики часто сидить під яблунею.

Однак, оскільки з фізики у Петрика тверда трійка, яблука з його яблуні падають так. Якоїсь миті одне з яблук відривається від гілки, на якій воно висить, і починає падати чітко вниз. Якщо в якийсь момент воно зачіпає інше яблуко, то те теж відривається від своєї гілки і починає падати вниз, при цьому перше яблуко не змінює напрямок свого падіння. Взагалі, якщо будь-яке яблуко, що падає, зачепить інше яблуко на своєму шляху, то воно також почне падати.

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

З'ясуйте, які яблука впадуть із яблуні Петрика.

Формат вхідних даних

У першому рядку вводиться число \(𝑁\) - кількість яблук на яблуні (\(1 \le 𝑁 \le 200\)).

Наступні \(N\) рядків містять описи яблук. Вважатимемо всі яблука кулями. Кожне яблуко задається координатами своєї самої верхньої точки (ту, де воно прикріплене до дерева, довжиною корінчика знехтуємо) \(𝑥_𝑖, 𝑦_𝑖, 𝑧_𝑖\) і радіусом \(𝑟_𝑖\) (\(_10000 \le x_i,y_i,z_i \le 10000\), \(1 \le r_i \le 10000\), всі числа цілі). Гарантується, що спочатку ніякі яблука не перетинаються (навіть не дотикаються). Вісь OZ спрямована вгору.

Формат вихідних даних

У першому рядку виведіть кількість яблук, які впадуть з яблуні, якщо почне падати перше яблуко.

У наступному рядку виводьте номери яблук, що впали. Яблука нумеруються, починаючи з 1, у порядку, в якому вони задані у вхідних даних.

Приклад вхідних даних

4
0 0 10 4
5 0 3 1
-7 4 7 1
0 1 2 6

Приклад вихідних даних

3
1 2 4

Коментарі

Ще немає коментарів.