Dlaczego symulator?
Dzieci w dzisiejszych czasach nie mają czasu ani ambicji, aby chodzić i układać pudełka na pilarce lub bawić się równoważeniem przedmiotów fizycznych. To pozostawia wiele miejsca na rynku oprogramowania dla Lever Simulator, który według moich modeli będzie sprzedawać się jak szalony!
Potrzebna pomoc w programowaniu
Złożyłem patent na taką grę (w toku), ale potrzebuję specjalistycznego programisty, aby napisał dla mnie logikę gry. Z mojego zrozumienia, standardową praktyką jest kompensowanie programistów na podstawie wielkości w bajtach końcowego programu. W związku z tym zawrę ten lukratywny kontrakt z najniższą ceną.
Specyfikacja
Dźwignia to seria pudeł lub pustych przestrzeni, które są zrównoważone przez punkt podparcia. Każde pudełko ma określoną wagę od jednego do dziewięciu, a spacje nie mają wagi. Jak wiadomo, ciężar pudełka na dźwigni jest wprost proporcjonalny do odległości tego pudełka od punktu podparcia. Skrzynia ciężaru, 4
która znajduje się na trzecim polu od punktu podparcia, wniesie 12
skuteczne jednostki siły do tej strony dźwigni.
Potrzebuję programu, który, biorąc pod uwagę dźwignię wejściową, wyświetli, czy dźwignia będzie przechylać się w lewo, w prawo, czy będzie idealnie wyważona.
Wytyczne I / O
- Napisz mi program.
- Dane wejściowe będą zawierać jeden wiersz tekstu.
- Dane wejściowe będą pochodzić z
stdin
lub jako jeden ciąg wiersza polecenia. - Pola będą reprezentowane przez znaki
1
„do9
”. Te postacie reprezentują ich wagi. Puste miejsce będzie reprezentowane przez spację ''. Punkt podparcia będzie reprezentowany przez karetkę '
^
'.
Przykładowa dźwignia wprowadzania może wyglądać następująco: 8 2^ 941
Ta dźwignia jest idealnie wyważona: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- Nie będzie spacji wiodących ani końcowych. Nie będzie końca nowej linii.
- Nie trzeba obsługiwać źle sformułowanych danych wejściowych, dane wejściowe zawsze będą miały dokładnie jeden punkt podparcia, a jedynie liczby i spacje.
- Dane wyjściowe wskażą, czy dźwignia jest ciężka w lewo, prawa w prawo, czy zrównoważona.
- Twój program musi mieć dokładnie 3 możliwe wyniki, które mogą wynikać z dobrze sformułowanego wejścia. Możesz wybrać, jakie to są.
- Dane wyjściowe muszą być wydrukowane
stdout
lub być kodem zwrotnym programu.
Przypadki testowe
Tutaj używam L
, R
, B
oznacza lewy ciężki prawym ciężki, zbilansowany:
Wejście:
11 ^9
Wyjście:B
Wejście:
321^ 12
Wyjście:L
Wejście:
9^ 1
Wyjście:R
(Jeśli ktoś ma jakieś „trudniejsze” przypadki testowe, możesz je edytować).
Bibliografia
Niekoniecznie zainspirowany, ale związany z Równowagą zestawu ciężarów na huśtawce
^16
, 16^
lub ^
? (Załóżmy, że może)
The output must either be print to stdout or be the return code of the program.
Cóż, teraz prosisz mnie o zrobienie dystrybucji Linuksa, która używa notacji huśtawki dla kodów wyjścia.