Giriş
Arka bahçenizdeki makyaj yaptığınız ülkede maliye bakanı olarak işe başladınız. Siz ve daha az güvenilir arkadaşlarınız için ülkenizde kendi bankanızı oluşturmaya karar verdiniz. Arkadaşlarınıza güvenmediğiniz için, arkadaşlarınızın para biriminizi geçmesini ve ekonominizi mahvetmesini önlemek için tüm işlemleri doğrulamak üzere bir program yazmaya karar verdiniz.
Görev
Başlangıç bakiyesi ve tüm işlemler göz önüne alındığında, bir kişinin abartmaya çalıştığı ve abartmaya çalışan herkesi (bu kapalı bir hesaba abartmayı denemek dahil) gelecekteki işlemleri bankanıza veya hesabından gelecekteki işlemlerini filtreleyerek tekrar kullanmasını engelleyen tüm işlemleri filtreleyin / banka hesabı.
Giriş çıkış
İki liste Ave Bgirdi olarak ve liste Cçıktı olarak. Aher hesabın biçimiyle başlangıç bakiyesidir [["Alice", 5], ["Bob", 8], ["Charlie", 2], ...]. Bformatı ile işlemlerin listesidir vasıta Bob Alice 3 kur birimlerini ödemek istediğini söyledi. ile aynı biçime sahip olmalıdır . , Ve makul biçimde olabilir.[["Bob", "Alice", 3], ["Charlie", "Bob", 5], ...]["Bob", "Alice", 3]CBABC
Test Durumları
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: []
puanlama
Bu kod golf , her dilde bayt olarak en kısa kod kazanır.
["A", 2, "B", 3, "C", 5]mi?
A: [["A", 2], ["B", 3], ["C", 4]], B: [["A", "B", 3], ["C", "B", 4]], C: [["C", "B", 4]](geçersiz biri aşağıdaki geçerli bir işlem).
Ada bir sözlük ya da tüp listeleriniz olmak?