Ore In The Desert Ore In The Desert
Challenging
EN Russian

Однажды, исследуя остров, наше Робо-трио пролетало над пустыней и сенсоры зарегистрировали, что здесь есть залежи железа. Пустыня была разбита на квадраты и имеет размер 10 на 10 условных квадратов. На нашем корабле есть четыре зонда для поиска нужного квадрата с железом. На каждом шаге вам необходимо указать координаты квадрата (как [строка, столбец]) куда отправить следующий зонд. Если в данном квадрате есть железо, то все отлично. В ином случае зонд даст информацию о расстоянии до квадрата с железом. (расстояние есть длина отрезка между центрами квадратов). Но зонды не особо точны и результат округляется до целого числа (1.41 ≈ 1; 2.83 ≈ 3). На каждом шаге вы получаете информацию о своих прошлых зондах, как список списков. Каждый список имеет следующий вид: [строка, столбец, расстояние]. В начале каждого поиска функция получает пустой список.

ore-in-the-desert ore-in-the-desert

В этой миссии ваша функция запускается несколько раз для решения задачи в одном окружении. При начале нового поиска (категория) окружение сбрасывается.

Входные данные: Информация о предыдущих зондах, как список (list) списков (list). Каждый список содержит три целых числа.

Выходные данные: Координаты следующего квадрата для проверки, как список (list) двух целых чисел.

Примеры:

checkio([])
checkio([[5, 3, 4]])
checkio([[5, 3,...

Эта задача демонстрирует принцип трилатерации. Трилатерация - это процесс определения точного или относительного положения искомой точки путем измерения расстояний с других точек, используя геометрию кругов или сфер. Кроме как в геометрии, трилатерация имеет применение в навигации.


len(desert) == 10
all(len(row) == 10 for row in desert)
В данной пустыне всегда есть железо.

You should be an authorized user in order to see the full description and start solving this mission.