Почему симулятор?
В наши дни у детей нет ни времени, ни амбиций, чтобы пойти и сложить коробки на качелях или поиграть с уравновешивающими физическими объектами. Это оставляет много места на рынке программного обеспечения для Lever Simulator, который, согласно моим моделям, будет продаваться как сумасшедший!
Требуется помощь по программированию
Я подал патент на такую игру (в ожидании), но мне нужен опытный программист, чтобы написать игровую логику для меня. Насколько я понимаю, это стандартная практика, чтобы компенсировать программистов на основе размера в байтах конечной программы. Таким образом, я буду заключать этот выгодный контракт с самой низкой ставкой.
Спецификация
Рычаг - это серия ящиков или пустых пространств, уравновешенных точкой опоры. Каждая коробка имеет определенный вес от одного до девяти, а пробелы не имеют веса. Как вы знаете, вес коробки на рычаге прямо пропорционален тому, как далеко этот ящик находится от точки опоры. Ящик с весом, 4
который находится на третьем месте от точки опоры, будет вносить 12
эффективные единицы силы в ту сторону рычага.
Мне нужна программа, которая при наличии рычага ввода будет выводить, будет ли рычаг наклонен влево, вправо или будет идеально сбалансирован.
Руководство по вводу / выводу
- Вы напишите для меня программу.
- Ввод будет содержать одну строку текста.
- Входные данные будут поступать из
stdin
или как одна строка командной строки. - Коробки будут представлены символами
1
«через9
». Эти символы представляют их соответствующие веса. Пустое пространство будет представлено пробелом ''. Точка опоры будет представлена кареткой '
^
'.
Рычаг ввода образца может выглядеть так: 8 2^ 941
Этот рычаг идеально сбалансирован: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- Там не будет ни начальных, ни конечных пробелов. Не будет завершающего перевода строки.
- Нет необходимости обрабатывать некорректный ввод, ввод всегда будет иметь только одну точку опоры, и только цифры и пробелы.
- Выходные данные будут указывать, является ли рычаг тяжелым слева, тяжелым справа или сбалансированным.
- Ваша программа должна иметь ровно 3 возможных выхода, которые могут быть результатом правильно сформированного ввода. Вы можете выбрать, что это такое.
- Выходные данные должны быть либо распечатаны,
stdout
либо быть кодом возврата программы.
Контрольные примеры
Здесь я использую L
, R
, B
означает левый тяжелый, правый тяжелый, сбалансированный:
Вход:
11 ^9
Выход:B
Вход:
321^ 12
Выход:L
Вход:
9^ 1
Выход:R
(Если у кого-то есть более «сложные» тестовые случаи, не стесняйтесь их редактировать).
Библиография
Не обязательно вдохновленный, но связанный с Балансом набор весов на качелях
^16
, 16^
или ^
? (Предположим, что это возможно)
The output must either be print to stdout or be the return code of the program.
Что ж, теперь вы просите меня создать дистрибутив Linux, который использует обозначения качелей для кодов выхода.