Una cursa de cavalls registra els temps dels participants i les apostes del públic. Donades les dades dels cavalls i una seqüència d’apostes, el programa ha de calcular el que rep cada apostador que hagi apostat al cavall guanyador, seguint el sistema totalitzador.
Es suma el total de diners apostats a tots els cavalls formant el pot total . L’organitzador reté una comissió sobre el pot total. El pot restant es reparteix entre els apostadors del cavall guanyador proporcionalment a la quantitat apostada per cadascú. Un apostador que ha apostat euros al guanyador rep:
on és la suma total apostada al cavall guanyador i és el pot total.
Entrada
4
1 Llampec 94
2 Tornado 87
3 Mestral 91
4 Ponent 99
Arnau Tornado 50
Berta Llampec 30
Carles Tornado 20
Diana Mestral 10
# # 0
0.20
Sortida
Guanyador: Tornado (87s)
Organitzacio: 22.00
Pot a repartir: 88.00
Arnau: 62.86
Carles: 25.14
Explicació
El pot total és €.
La comissió és , de manera que l’organització s’emporta € i el pot a repartir és €.
El cavall guanyador és Tornado (87 s).
La suma apostada a Tornado és €. Arnau rep € i Carles rep €.
Per imprimir un nombre real amb exactament dos decimals podeu usar
cout << fixed << setprecision(2) << valor,
on fixed i setprecision estan disponibles amb
#include <iomanip>. Un cop activat, tots els reals
posteriors s’imprimiran amb dos decimals.
Un enter : el nombre de cavalls participants.
línies, cadascuna amb tres camps:
dorsal nom temps_en_segons (enter, string, enter),
ordenades per dorsal creixent.
Una seqüència d’apostes, cadascuna amb tres camps:
nom_apostador nom_cavall quantitat (string, string, enter
positiu). La seqüència acaba amb la línia # # 0.
Un real amb : la comissió de l’organitzador.
Es garanteix que tots els noms de cavall que apareixen a les apostes corresponen a un cavall existent, que no hi ha dorsals repetits i que tots els noms d’apostador són únics.
El nom del cavall guanyador (menor temps) i el seu temps en segons. En cas d’empat de temps, guanya el cavall amb el dorsal menor.
Els diners que s’emporta l’organització, arrodonits a dos decimals.
El pot a repartir entre els apostadors guanyadors, arrodonit a dos decimals.
Per a cada apostador que hagi apostat al cavall guanyador, el total que rep, arrodonit a dos decimals. La llista s’imprimeix en el mateix ordre en què han aparegut les apostes a l’entrada. Si cap apostador ha apostat al cavall guanyador, no s’imprimeix cap apostador.
Per obtenir més detalls sobre la sortida consulta els jocs de proves públics.
Input
4 1 Llampec 94 2 Tornado 87 3 Mestral 91 4 Ponent 99 Arnau Tornado 50 Berta Llampec 30 Carles Tornado 20 Diana Mestral 10 # # 0 0.20
Output
Guanyador: Tornado (87s) Organitzacio: 22.00 Pot a repartir: 88.00 Arnau: 62.86 Carles: 25.14
Input
12 1 Llampec 90 2 Tornado 91 3 Mestral 87 4 Ponent 87 5 Siroco 100 6 Galaxia 98 7 Tro 95 8 Vendaval 90 9 Escuma 93 10 Roig 93 11 Falco 91 12 Manolo 87 Arnau Tornado 50 Berta Mestral 30 Carles Tornado 20 Diana Mestral 15 Esteve Ponent 10 Fionna Tro 30 Gonzalo Manolo 80 Heura Vendaval 40 Iu Roig 10 # # 0 0.15
Output
Guanyador: Mestral (87s) Organitzacio: 42.75 Pot a repartir: 242.25 Berta: 161.50 Diana: 80.75
Input
12 1 Llampec 88 2 Tornado 87 3 Mestral 87 4 Ponent 99 5 Siroco 102 6 Galaxia 95 7 Tro 110 8 Vendaval 98 9 Escuma 103 10 Roig 91 11 Falco 105 12 Corrent 93 Arnau Llampec 50 Berta Mestral 30 Carles Llampec 20 Diana Mestral 15 Esteve Ponent 10 Fina Llampec 25 Genis Mestral 40 Hector Ponent 5 Irene Llampec 30 Julia Mestral 20 # # 0 0.15
Output
Guanyador: Tornado (87s) Organitzacio: 36.75 Pot a repartir: 0.00