|
Сотовая связь в большом городе
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
В одном из больших городов нашей страны хорошо развит рынок сотовой связи. На рынке присутствуют несколько операторов, каждому из которых принадлежит некоторое количество базовых станций, с помощью которых организуется связь.
Каждая базовая станция характеризуется своими координатами (для простоты размерами базовых станций пренебрегаем) и радиусом надежной связи (если абонент находится на расстоянии, не превосходящем этот радиус, от базовой станции, то она может использоваться для работы с ним - передачи ему сигналов и приема сигналов от него).
Известный производитель сотовых телефонов Mokea планирует оснастить свою новую модель сотового телефона функцией определения базовых станций, с которыми может работать абонент. Вам же предстоит написать программу, которая по местоположению абонента для каждого оператора определит, сколько базовых станций этого оператора могут работать с абонентом.
Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 10000) - количество базовых станций в городе. Далее идут описания этих базовых станций. Каждое описание занимает две строки. На первой расположено название оператора сотовой связи, которому принадлежит эта базовая станция, а на второй - три целых числа x, y, r (-10000 ≤ x, y ≤ 10000, 1 ≤ r ≤ 10000) - соответственно ее координаты и радиус надежной связи. Последняя строка входного файла содержит два целых числа xa, ya (-10000 ≤ xa, ya ≤ 10000) - координаты абонента.
Все координаты во входном файле даны в одной и той же декартовой прямоугольной системе координат. Названия операторов - это непустые строки длиной не более 50 символов, состоящие из цифр, строчных и прописных букв английского алфавита. Прописные и строчные буквы английского алфавита различаются (например, MPS и mps - два разных оператора).
Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите число k – количество операторов сотовой связи, работающих в городе (разумеется, два оператора считаются разными, если их названия не совпадают). Далее выведите k строк. Каждая из этих строк должна содержать название оператора и количество базовых станций этого оператора, доступных абоненту. Первым должно идти название оператора, число базовых станций должно быть отделено от него одним пробелом. В этом списке операторы должны быть перечислены в том же порядке, в каком они встречаются во входном файле (см. примеры). Гарантируется, что k ≤ 100.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 5
Megahorn
0 0 10
BeepLine
10 10 10
MPS
0 0 10
Ele2
0 0 1
SkyPink
100 100 10
5 5 | 5
Megahorn 1
BeepLine 1
MPS 1
Ele2 0
SkyPink 0 |
2 | 3
Megahorn
0 0 10
MPS
1 1 10
Megahorn
2 2 10
1 1 | 2
Megahorn 2
MPS 1 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |