Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Số dư ví sau chuỗi giao dịch

    Một sổ cái tiền mã hóa đơn giản ghi lại nnn 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í AAA (khác COINBASE) là:

    balance(A)=∑amount nhận được (khi A laˋ to)−∑amount đa˜ gửi (khi A laˋ from)\text{balance}(A) = \sum \text{amount nhận được (khi } A \text{ là } to\text{)} - \sum \text{amount đã gửi (khi } A \text{ là } from\text{)}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=39.5=39.5, Bob =7.25=7.25=7.25, Carol =3.25=3.25=3.25.

    • Định dạng đầu vào:
      • Dòng 1: nnn — số lượng giao dịch (0≤n≤20000 \le n \le 20000≤n≤2000).
      • nnn dòng tiếp theo, mỗi dòng gồm 3 giá trị cách nhau bởi khoảng trắng: 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.
    • Định dạng đầu ra:

      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...