Возвращение в исходную точку. Метеозонд
Собрался решать задачу, но смотрю на нее минут 20 и не могу понять чего от меня хотят. Как это понимать: "Проверьте существование комбинации знаков, для которых зонд вернулся на свое начальное положение".
Метеозонд отправляет данные с его смещениями по X и Y за последние N минут (N >= 1). За минуту зонд может сместиться на +/-1 по каждой координате или остаться на месте.
Аппаратура зонда сломалась и отправляет все значения координат без знаков (’+’ или ’-’). Проверьте существование комбинации знаков, для которых зонд вернулся на свое начальное положение.
На вход данные передаются как массив из N смещений. Каждое смещение имеет формат: [<diff_X>, <diff_Y>]
Ваша функция должна вернуть модифицированный массив смещений со знаками, для которых зонд вернулся в начальное положение, или null, если такой комбинации не существует.
Формат ввода
[
[1, 0],
[0, 1],
[1, 1]
]
Формат вывода
[
[-1, 0],
[0, -1],
[1, 1]
]
Ответы (3 шт):
В общем твой зонд может двигаться в каких то направлениях(не знаю как работает зонд). Посчитай, что X - вперед назад, Y - влево вправо. За 1 минуту он может сместиться по обеим координатам, но только на 1 позицию по каждой. Знак обозначает направление (влево/вправо для y). На вход передается массив из некоторого числа массивов. Число этих массивов -число минут. Твоя функция должна проверить, может при таких смещениях(указаны в массивах) зонд снова вернуться в прежнее состояние. В примере, например, может.
[X, Y]
X: вперед назад
Y: влево вправо
[-1, 0] - отошел только назад
[0, -1] - отошел только влево
[1, 1] - отошел вперед и вправо(попал в исходную позицию)
Я это вижу немного не так, чем в ответе @idabsent . А все из-за этой фразы :Проверьте существование комбинации знаков.
Мне кажется, что необходимо определить кол-во комбинаций при которых зонд может оказаться в исходной точке.
Т.е, если прошло 30 минут, то необходимо вычислить кол-во раз, когда зонд мог оказаться в нулевой точке. Допустим, на 5-ой, 12-ой, 17-ой - минуте
Считаем количество единиц по первой координате и по второй. Если оба количества чётные, то возвращение в начало возможно, иначе - копец зонду. Для получения решения просто ставим минусы ровно половине единиц по каждой координате.