소개
당신은 뒷마당에있는 당신의 메이크업 국가에서 재무 장관으로 일했습니다. 당신은 당신과 당신의 덜 신뢰하는 친구를 위해 당신의 나라에서 자신의 은행을 만들기로 결정했습니다. 친구를 믿지 않기 때문에 모든 거래를 확인하여 친구가 화장 통화를 과도하게 사용하고 경제를 망치지 않도록 프로그램을 작성하기로 결정했습니다.
직무
시작 잔액과 모든 거래가 주어지면 누군가가 초과 지출을 시도하는 모든 거래를 걸러 내고 초과 거래를 시도하는 사람 (폐쇄 계좌로 초과 지출을 시도하는 것을 포함)은 향후 거래를 필터링하여 은행을 다시 사용하지 못하게합니다. 은행 계좌.
입출력
두 개의 목록 A과 B입력과 목록 C은 출력입니다. A형식으로 각 계정의 시작 잔액입니다 [["Alice", 5], ["Bob", 8], ["Charlie", 2], ...]. B형식과 거래의 목록입니다 수단 밥이 앨리스 3 통화 단위를 지불하고 싶어은. 형식과 같아야합니다 . , 및 합리적인 형식으로 할 수있다.[["Bob", "Alice", 3], ["Charlie", "Bob", 5], ...]["Bob", "Alice", 3]CBABC
테스트 사례
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: []
채점
이것은 code-golf 이며 각 언어에서 가장 짧은 바이트 코드가 이깁니다.
["A", 2, "B", 3, "C", 5]?
A: [["A", 2], ["B", 3], ["C", 4]], B: [["A", "B", 3], ["C", "B", 4]], C: [["C", "B", 4]](무효 한 다음 유효한 거래).
A사전이나 튜플 목록이 될 수 있습니까?