Perché un simulatore?
I bambini in questi giorni non hanno il tempo né l'ambizione di andare effettivamente a impilare le scatole sulla sega o giocare con oggetti fisici in equilibrio. Questo lascia molto spazio nel mercato del software per un simulatore di leva che, secondo i miei modelli, venderà come un matto!
Cercasi aiuto per la programmazione
Ho depositato il brevetto per un gioco del genere (in attesa), ma ho bisogno di un programmatore esperto per scrivere la logica del gioco per me. Da quanto ho capito, è pratica standard compensare i programmatori in base alla dimensione in byte del programma finale. In quanto tale, assegnerò questo lucroso contratto al miglior offerente.
specificazione
Una leva è una serie di scatole o spazi vuoti bilanciati da un fulcro. Ogni scatola ha un peso particolare da uno a nove e gli spazi non hanno peso. Come sapete, il peso di una scatola sulla leva è direttamente proporzionale alla distanza di quella scatola dal fulcro. Una scatola di peso 4
che si trova sul terzo spazio dal fulcro contribuirà con 12
efficaci unità di forza a quel lato della leva.
Ho bisogno di un programma che, data una leva di input, emetta se la leva si inclina verso sinistra, a destra o è perfettamente bilanciata.
Linee guida I / O
- Scriverai per me un programma.
- L'input conterrà una riga di testo.
- L'input verrà da
stdin
o come una stringa della riga di comando. - Le caselle saranno rappresentate dai caratteri
1
"da" a9
". Questi personaggi rappresentano i loro rispettivi pesi. Uno spazio vuoto sarà rappresentato da uno spazio ''. Il fulcro sarà rappresentato da un cursore '
^
'.
Una leva di input di esempio potrebbe apparire come: 8 2^ 941
Questa leva è perfettamente bilanciata: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- Non ci saranno spazi iniziali né finali. Non ci saranno newline finali.
- Non è necessario gestire input non validi, l'input avrà sempre esattamente un fulcro e solo numeri e spazi.
- L'uscita indicherà se la leva è pesante, destra o pesante a sinistra.
- Il tuo programma deve avere esattamente 3 possibili uscite che potrebbero derivare da un input ben formato. Puoi scegliere quali sono.
- L'output deve essere stampato
stdout
o essere il codice di ritorno del programma.
Casi test
Qui uso L
, R
, B
a significare sinistra-pesante, destra-pesante, equilibrato:
Ingresso:
11 ^9
Uscita:B
Ingresso:
321^ 12
Uscita:L
Ingresso:
9^ 1
Uscita:R
(Se qualcuno ha dei casi di test "più complicati", sentiti libero di modificarli).
Bibliografia
Non necessariamente ispirato, ma correlato a Balance una serie di pesi su un'altalena
^16
, 16^
o ^
? (Supponiamo che possa)
The output must either be print to stdout or be the return code of the program.
Bene, ora mi stai chiedendo di fare una distribuzione di Linux che usi la notazione altalena per i codici di uscita.