Треки
/
WebAssembly
WebAssembly
/
Вправи
/
Симулятор робота
Симулятор робота

Симулятор робота

Середня

Вказівки

Напишіть симулятор робота.

Випробувальному центру фабрики роботів потрібна програма, яка перевіряє рухи роботів.

Роботи мають три можливі рухи:

  • повернути праворуч
  • повернути ліворуч
  • просунутися вперед

Роботів розміщують на гіпотетичній нескінченній сітці. Кожен робот повернутий у певному напрямку (north, east, south або west) і має координати {x,y}, наприклад {3,8}, причому координати зростають у напрямку north й east.

Далі робот отримує низку вказівок, після чого випробувальний центр перевіряє нову позицію робота і те, у якому напрямку він повернутий.

  • Рядок літер «RAALAL» означає:
    • Повернути праворуч
    • Просунутися двічі
    • Повернути ліворуч
    • Просунутися один раз
    • І ще раз повернути ліворуч
  • Нехай робот починає в точці {7, 3} з напрямком north. Тоді після виконання цієї послідовності вказівок він має опинитися в точці {9, 4} з напрямком west.

Напрямок, у якому дивиться робот, будемо виражати одним із таких чисел:

  • North = 0
  • East = 1
  • South = 2
  • West = 3

Якщо вхідні дані некоректні, поверніть напрямок зі значенням -1 (інші значення буде проігноровано).

Зарезервована памʼять

Буфер для вхідного рядка тексту (англ. string) займає байти 64-319 лінійної памʼяті.

Вхідний рядок тексту за потреби можна змінювати.


Джерело

За мотивами запитання зі співбесіди у відомій компанії.
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
WebAssembly Exercism

Час розпочати Симулятор робота?

Зареєструйтеся на Exercism, щоб вивчати й опановувати WebAssembly, а також 87 вправ та справжнє наставництво від людей, і все це безкоштовно.