pengantar
Anda mendapatkan pekerjaan sebagai menteri keuangan di negara Anda yang sudah jadi di halaman belakang Anda. Anda telah memutuskan untuk membuat bank sendiri di negara Anda untuk Anda dan teman-teman Anda yang kurang dapat dipercaya. Karena Anda tidak mempercayai teman-teman Anda, Anda telah memutuskan untuk menulis sebuah program untuk memvalidasi semua transaksi untuk menghentikan teman-teman Anda untuk menghabiskan uang yang terlalu banyak dan membuat ekonomi Anda hancur.
Tugas
Mengingat saldo awal dan semua transaksi, saring semua transaksi di mana seseorang mencoba untuk mengeluarkan uang lebih banyak dan memblokir siapa saja yang mencoba untuk mengeluarkan uang lebih banyak (ini termasuk mencoba mengeluarkan uang lebih ke rekening tertutup) agar tidak pernah menggunakan bank Anda lagi dengan memfilter transaksi di masa mendatang ke atau dari miliknya / rekening banknya.
Input output
Dua daftar Adan Bsebagai input dan daftar Csebagai output. Aadalah saldo awal setiap akun dengan format [["Alice", 5], ["Bob", 8], ["Charlie", 2], ...]. Badalah daftar transaksi dengan format di [["Bob", "Alice", 3], ["Charlie", "Bob", 5], ...]mana ["Bob", "Alice", 3]Bob ingin membayar unit mata uang Alice 3. Charus memiliki format yang sama dengan B. A, Bdan Cmungkin dalam format apa pun yang wajar.
Uji Kasus
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: []
Mencetak gol
Ini adalah kode-golf , kode terpendek dalam byte yang menang di setiap bahasa.
["A", 2, "B", 3, "C", 5]?
A: [["A", 2], ["B", 3], ["C", 4]], B: [["A", "B", 3], ["C", "B", 4]], C: [["C", "B", 4]](transaksi valid menyusul satu tidak valid).
Ajuga kamus, atau daftar tupel?