Einführung
Sie haben einen Job als Finanzminister in Ihrem erfundenen Land in Ihrem Hinterhof bekommen. Sie haben beschlossen, in Ihrem Land eine eigene Bank für Sie und Ihre weniger vertrauenswürdigen Freunde zu gründen. Da Sie Ihren Freunden nicht vertrauen, haben Sie beschlossen, ein Programm zur Validierung aller Transaktionen zu schreiben, um zu verhindern, dass Ihre Freunde Ihre erfundene Währung zu viel ausgeben und Ihre Wirtschaft ruinieren.
Aufgabe
Filtern Sie unter Berücksichtigung des Anfangsbestands und aller Transaktionen alle Transaktionen heraus, bei denen jemand versucht, einen Mehrbetrag auszugeben, und verhindern Sie, dass jemand, der einen Mehrbetrag auszugeben versucht (dies schließt den Versuch ein, einen Mehrbetrag auf einem geschlossenen Konto auszugeben), Ihre Bank jemals wieder nutzt, indem Sie zukünftige Transaktionen an oder von seiner Bank herausfiltern / ihr Bankkonto.
Input-Output
Zwei Listen Aund Bals Eingabe und eine Liste Cals Ausgabe. Aist der Startsaldo jedes Kontos mit dem Format [["Alice", 5], ["Bob", 8], ["Charlie", 2], ...]. Bist eine Liste von Transaktionen mit dem Format, [["Bob", "Alice", 3], ["Charlie", "Bob", 5], ...]bei ["Bob", "Alice", 3]denen Bob Alice 3 Währungseinheiten bezahlen möchte. Csollte das gleiche Format haben wie B. A, BUnd Ckann in jedem angemessenen Format vorliegen.
Testfälle
A: [["Alice", 5], ["Bob", 2]]
B: [["Alice", "Bob", 5], ["Bob", "Alice" 7]]
C: [["Alice", "Bob", 5], ["Bob", "Alice" 7]]
A: [["A", 2], ["B", 3], ["C", 5]]
B: [["C", "A", 2], ["B", "C", 4], ["A", "B", 2]]
C: [["C", "A", 2]]
A: [["A", 2], ["B", 3]]
B: [["A", "B", 2], ["A", "B", 2]]
C: [["A", "B", 2]]
A: [["A", 4], ["B", 0]]
B: [["A", "B", 1], ["A", "B", 5], ["A", "B", 2]]
C: [["A", "B", 1]]
A: [["A", 2], ["B", 3], ["C", 4]]
B: [["A", "B", 3], ["C", "B", 4]]
C: [["C", "B", 4]]
A: [["A", 2], ["B", 3], ["C", 4]]
B: [["A", "B", 3], ["B", "A", 4], ["C", "B" 2]]
C: []
Wertung
Dies ist Code-Golf , der kürzeste Code in Bytes in jeder Sprache gewinnt.
["A", 2, "B", 3, "C", 5]?
A: [["A", 2], ["B", 3], ["C", 4]], B: [["A", "B", 3], ["C", "B", 4]], C: [["C", "B", 4]](eine gültige Transaktion nach einem unwirksamen).
Aauch ein Wörterbuch oder eine Liste von Tupeln sein?