Ad esempio, come:
L'inaugurale Olimpiade internazionale di Frogleaping si terrà in Australia nel 2013 e tu sei determinato a vincere. Mentre non vuoi avere niente a che fare con creature viscide e nervose, hai intenzione di entrare in un robot simile a una rana che sai essere più veloce di tutti gli altri partecipanti organici.
L'IOF si svolge in un grande stagno in cui è presente una sequenza di ninfee disposte in una lunga fila. Le regole della gara sono semplici: la tua rana sarà posizionata sulla prima ninfea, quindi dovrà saltare alla seconda ninfea, quindi la terza e così via fino a raggiungere l'ultimo ninfea in rotta. Si noti che non è possibile "saltare" i ninfeali - ogni ninfea deve essere saltata su esattamente una volta. La prima rana che raggiungerà l'ultimo ninfea vincerà la gara. Dal momento che la tua rana robotizzata ha una velocità super-rana, sei sicuro della tua vittoria.
Tuttavia, la tua rana ha un difetto irreversibile minore: è in grado di saltare solo una distanza fissa. Nello specifico, può solo saltare esattamente K metri in avanti dalla sua posizione corrente, anche se questo fa atterrare la rana nell'acqua (dove verrà immediatamente cortocircuitato).
Dato che le posizioni iniziali del giglio potrebbero rendere impossibile per la tua rana raggiungere l'ultimo pad di ninfea, hai intenzione di creare una distrazione e spostare le ninfee in modo che siano distanziate esattamente di K metri, consentendo alla tua rana di saltare da il primo all'ultimo senza cadere nell'acqua. Spostando un giglio di un metro in un secondo, e più a lungo trascorrerai le ninfee spostando di soppiatto, tanto più è probabile che i giudici dell'IOF si accorgano e squalifichino dalla competizione.
Date le distanze iniziali tra le ninfee nel corso, devi scrivere un programma per calcolare il tempo minimo che dovrai trascorrere spostando le ninfee in modo che tutte le coppie di ninfee consecutive si trovino esattamente a K metri di distanza. Si può supporre che lo stagno sia sufficientemente lungo in modo che il primo pannello di ninfea possa essere spostato a qualsiasi distanza indietro, e l'ultimo pannello di ninfea può essere spostato a qualsiasi distanza in avanti.
ingresso
Il tuo programma dovrebbe leggere dal file frogin.txt. La prima riga di questo file sarà composta da due interi N separati da spazi e K. Le seguenti linee N-1 conterranno le distanze iniziali tra coppie consecutive di ninfee. Nello specifico, la linea ith conterrà un intero che rappresenta la distanza tra l'ith e (i + 1) il ninfea.
uscita
Il tuo programma dovrebbe scrivere sul file frogout.txt. Il tuo file di output dovrebbe essere costituito da una riga contenente un intero: il tempo totale minimo trascorso spostando le ninfee in modo da assicurarti la vittoria.
Questo è un problema di esempio delle Olimpiadi australiane dell'informatica, che mi è capitato di imbattermi in una ricerca su Internet.
Ma non credo che eventuali problemi legati alla programmazione che non si colleghino direttamente con situazioni di vita reale avranno effetti utili sulla capacità di programmazione del mondo reale. Lo faranno?