Một sổ cái tiền mã hóa đơn giản ghi lại n giao dịch theo thứ tự thời gian. Mỗi giao dịch có dạng from to amount, nghĩa là địa chỉ from chuyển amount đơn vị coin cho địa chỉ to. Riêng địa chỉ đặc biệt COINBASE đại diện cho coin mới được tạo ra (phần thưởng đào khối) — không phải một địa chỉ ví thật và không có số dư âm/dương cần theo dõi cho COINBASE.
Số dư cuối cùng của một địa chỉ ví A (khác COINBASE) là:
balance(A)=∑amount nhận được (khi A laˋ to)−∑amount đa˜ gửi (khi A laˋ from)
Hãy tính số dư cuối cùng của mọi địa chỉ ví xuất hiện trong sổ cái (là from và/hoặc to, không tính COINBASE), giả định dữ liệu đầu vào luôn hợp lệ (không cần kiểm tra số dư có đủ hay không trước khi chuyển).
Ví dụ: với 3 giao dịch COINBASE Alice 50, Alice Bob 10.5, Bob Carol 3.25, số dư cuối là: Alice =39.5, Bob =7.25, Carol =3.25.
from to amount, trong đó from, to là các chuỗi định danh địa chỉ (không chứa khoảng trắng, from có thể là COINBASE), và amount là số thực không âm với tối đa 8 chữ số thập phân.In danh sách các địa chỉ ví (không tính COINBASE) đã từng xuất hiện, sắp xếp theo thứ tự bảng chữ cái tăng dần, mỗi địa chỉ trên một dòng theo định dạng address balance, trong đó balance được in với đúng 8 chữ số thập phân. Nếu không có địa chỉ nào, không in gì cả.
Ví dụ:
Đầu vào:
0
Đầu ra:
Đầu vào:
1
COINBASE Alice 25.00000001
Đầu ra:
Alice 25.00000001
Đang tải editor...