Чому тренажер?
Діти в ці дні не мають ані часу, ані амбіції реально ходити і складати коробки на пилораму чи грати навколо, врівноважуючи фізичні об’єкти. Це залишає багато місця на ринку програмного забезпечення для 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, який використовує seeaw-notation для вихідних кодів.