Por que um simulador?
Hoje em dia, as crianças não têm tempo nem ambição de realmente empilhar caixas na gangorra ou brincar com objetos físicos equilibrados. Isso deixa muito espaço no mercado de software para um Lever Simulator que, de acordo com meus modelos, venderá como louco!
Procura-se ajuda de programação
Eu registrei a patente para esse jogo (pendente), mas preciso de um programador especializado para escrever a lógica do jogo para mim. Pelo meu entendimento, é prática padrão compensar os programadores com base no tamanho em bytes do programa final. Como tal, estarei concedendo este contrato lucrativo ao menor lance.
Especificação
Uma alavanca é uma série de caixas ou espaços vazios equilibrados por um ponto de apoio. Cada caixa tem um peso específico de um a nove e os espaços não têm peso. Como você sabe, o peso de uma caixa na alavanca é diretamente proporcional à distância da caixa do ponto de apoio. Uma caixa de peso 4
que fica no terceiro espaço a partir do ponto de apoio contribuirá com 12
unidades de força efetivas para esse lado da alavanca.
Preciso de um programa que, dada uma alavanca de entrada, produza se a alavanca se inclina para a esquerda, a direita ou se está perfeitamente equilibrada.
Diretrizes de E / S
- Você vai escrever para mim um programa.
- A entrada conterá uma linha de texto.
- A entrada virá de
stdin
ou como uma sequência de linha de comando. - As caixas serão representadas pelos caracteres '
1
' a '9
'. Esses caracteres representam seus respectivos pesos. Um espaço vazio será representado por um espaço ''. O ponto de apoio será representado por um sinal de intercalação '
^
'.
Uma alavanca de entrada de amostra pode se parecer com: 8 2^ 941
Esta alavanca está perfeitamente equilibrada: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- Não haverá espaços à esquerda nem à direita. Não haverá nova linha final.
- Não há necessidade de lidar com entrada malformada, a entrada sempre terá exatamente um ponto de apoio e apenas números e espaços.
- A saída indicará se a alavanca está pesada para a esquerda, pesada para a direita ou equilibrada.
- Seu programa deve ter exatamente 3 saídas possíveis que podem resultar de uma entrada bem formada. Você pode escolher o que é isso.
- A saída deve ser impressa
stdout
ou ser o código de retorno do programa.
Casos de teste
Aqui eu uso L
, R
, B
para significar deixou-pesado, pesado direita, equilibrada:
Entrada:
11 ^9
Saída:B
Entrada:
321^ 12
Saída:L
Entrada:
9^ 1
Saída:R
(Se alguém tiver alguns casos de teste "mais complicados", fique à vontade para editá-los).
Bibliografia
Não necessariamente inspirado, mas relacionado a Equilibrar um conjunto de pesos em uma gangorra
^16
, 16^
ou ^
? (Suponha que seja possível) #
The output must either be print to stdout or be the return code of the program.
Bem, agora você está me pedindo para fazer uma distribuição do Linux que usa notação de gangorra para códigos de saída.