Мій робот якось коротко замикається і випадково біжить кудись із моєї лабораторії!
На щастя, кожен раз, коли він це робить, його послідовність відключення ініціює, даючи йому достатньо часу для випадкового повороту та бігу в напрямку, що його стикається протягом п'яти раундів, перш ніж він вимикається. Його функції гіроскопа та акселерометра досі переносять дані в лабораторію, поки він все ще ввімкнений.
Дані завжди будуть надходити у вигляді п'яти наборів з двох чисел, наприклад.
12:234,-135:47,-68:230,140:324,127,87
Ваша місія, гравці в гольф: а) імітувати шалену послідовність бігу та повороту робота, показуючи п’ять наборів чисел у вигляді a1:d1,a2:d2,a3:d3,a4:d4,a5:d5
де a
(n) кут за годинниковою стрілкою (у градусах) таким чином, -179<=a<=+180
що робот повернеться від свого поточного заголовка ( спочатку він знаходиться на нульовому заголовку до того, як він запустить amok і повернеться вперше), і d
(n) - відстань у футах, яку він пробіг до наступної зміни заголовка, яка така, що 0<=d<=500
ноги; і b) Розрахунковий заголовок із лабораторії (який також стикається з нульовим заголовком), відстань у футах (настійно рекомендується точність до 3 знаків після коми, -5 байт, якщо ви робите) та орієнтаційний заголовок (у градусах) про те, з чим стикається мій робот, коли він вимкнувся.
Простий приклад:
Data: 0:1,45:1,90:1,90:1,90:1
Heading: 0
Distance: 1
Orientation: -45
Випадкові повороти та відстані - це саме те, випадкове. Ніякі задані значення не повинні бути жорстко кодованими, ми повинні бачити випадковість дії в коді.
Обмеження випадковості: Немає посилань на основі годинника чи дати, нам потрібно бачити в random
коді нативну посилання. Щоразу, коли ви запускаєте цей код, випадковість повинна передбачати можливість відображення 1 з 360 можливих кутів повороту при кожному повороті. Тож робот може обертатися на -36 градусів за один поворот і може повертати +157 градусів на наступному, після чого слід черговий оборот +2 градуси на інший оборот -116 градусів і остаточний оборот +42 градуси на кінцевому повороті. Повинно бути можливим щонайменше 360 чітких значень (від -179 до +180 градусів включно) з кожним генерацією випадкових кутів.
Обмеження для пробігу на відстані: Аналогічно встановлено, що робот може пробігти 501 відстань (від 0 до 500 футів включно), тому я очікую, що випадковість також буде доступна при визначенні дистанції ходу робота. Робот теоретично міг бігати 45, 117, 364, 27 і 6 футів з кожним із відповідних раундів ...
Дані, які вам подаються, завжди будуть в цілих значеннях ... робот повернеться в цілі діапазони градусів і буде працювати в цілих діапазонах відстані. Вихідні значення, однак, будуть поплавцями ...
Це код-гольф. Найкоротший виграш коду ... Тепер знайди мого робота!
PS: Посилаючись на мою "Точність до 3 знаків після коми", якщо ви можете вказати заголовок (у градусах, до МІНІМУМУ з 3 знаків після коми) та відстань у футах (також точно також до МІНІМУМУ 3 десяткових знаків) ви отримає бонус -5 байт).
-180 < a <= +180
як<
знак самостійно менше, але не включаючи AFAIK ...