I leader del mondo si sono incontrati e hanno finalmente ammesso che il modo migliore (e unico) per risolvere i problemi economici globali è quello di fare un bilancio di quanto si devono l'un l'altro e si ripagano semplicemente con enormi assegni. Ti hanno assunto (ironicamente, al tasso di contratto più basso possibile) per trovare il modo migliore per farlo.
Dopo molte discussioni e chiedendo a qualcuno di disegnare un semplice esempio, hanno escogitato le seguenti specifiche.
Ogni paese è rappresentato dal loro codice ISO 3166-1 alpha-2 : US
per gli Stati Uniti, AU
per l'Australia, JP
per il Giappone, CN
per la Cina e così via ...
- Un libro mastro viene redatto come una serie di voci di paese e gli importi dovuti a ciascun paese.
- L'ingresso di ciascun paese inizia con il loro ID di dominio un colon e quanto hanno in surplus / deficit (in miliardi di euro), seguito da un punto e virgola, quindi da un elenco separato da virgole dei paesi e quanto (in miliardi di Euro) devono.
- Se un paese non deve nulla a un altro paese, nessuna menzione di quel paese viene inserita dopo quel punto e virgola.
- I deficit sono indicati come numeri negativi, il surplus è indicato come numero positivo.
- I valori possono anche essere float.
- Il libro mastro deve essere preso da STDIN. La fine del libro mastro è indicata da un ritorno a capo su una riga vuota. Il conteggio deve essere consegnato a STDOUT.
Un esempio di un libro mastro:
Input:
AU:8;US:10,CN:15,JP:3
US:14;AU:12,CN:27,JP:14
CN:12;AU:8,US:17,JP:4
JP:10;AU:6,US:7,CN:10
Il sistema quindi determina l'importo che ogni paese deve e deve e determina il suo avanzo / disavanzo, ad esempio per AU:
AU = 8 (avanzo corrente) -10 (verso gli USA) -15 (verso CN) -3 (verso JP) +12 (dagli USA) +8 (da CN) +6 (da JP) = 6
Quando tutto il calcolo è fatto, deve essere mostrato un conteggio:
Output:
AU:6
US:-5
CN:35
JP:8
Il tuo compito è quello di creare questo sistema, in grado di prendere un numero qualsiasi di voci di contabilità per qualsiasi numero di paesi e in grado di determinare quanto ogni paese ha deficit / surplus quando tutto viene pagato.
Il test finale consiste nell'utilizzare il codice per risolvere il debito dovuto tra i seguenti paesi nel caso di prova riportato di seguito. Queste cifre sono state tratte da BBC News nel giugno 2011. ( http://www.bbc.com/news/business-15748696 )
Ai fini dell'esercizio, ho usato il loro rispettivo PIL come surplus attuale ... Tieni presente che si tratta strettamente di un esercizio di garanzia della qualità del codice ... non si parlerà qui della risoluzione economica globale in questa domanda ... Se vuoi parlare di economia sono sicuro che c'è un altro sottodominio in SE che lo gestisce ...
US:10800;FR:440.2,ES:170.5,JP:835.2,DE:414.5,UK:834.5
FR:1800;IT:37.6,JP:79.8,DE:123.5,UK:227,US:202.1
ES:700;PT:19.7,IT:22.3,JP:20,DE:131.7,UK:74.9,US:49.6,FR:112
PT:200;IT:2.9,DE:26.6,UK:18.9,US:3.9,FR:19.1,ES:65.7
IT:1200;JP:32.8,DE:120,UK:54.7,US:34.8,FR:309,ES:29.5
IE:200;JP:15.4,DE:82,UK:104.5,US:39.8,FR:23.8
GR:200;DE:15.9,UK:9.4,US:6.2,FR:41.4,PT:7.5,IT:2.8
JP:4100;DE:42.5,UK:101.8,US:244.8,FR:107.7
DE:2400;UK:141.1,US:174.4,FR:205.8,IT:202.7,JP:108.3
UK:1700;US:578.6,FR:209.9,ES:316.6,IE:113.5,JP:122.7,DE:379.3
Ora, sii il salvatore economico del mondo!
Regole:
- Vince il codice più corto ... dopo tutto questo è code-golf ...
- Fornisci l'output del caso di test principale con la risposta del codice ...
JP:4100
?