Bài 22.6. Phân tích Dữ liệu Giao dịch Trùng lặp - [Độ khó: Khó]
Bài 22.6. Phân tích Dữ liệu Giao dịch Trùng lặp - [Độ khó: Khó]
Mô tả bài tập: Bạn đang phát triển một hệ thống phân tích giao dịch tài chính. Dữ liệu giao dịch được ghi lại bao gồm mã giao dịch và số tiền. Tuy nhiên, do một số vấn đề kỹ thuật, có thể có các bản ghi giao dịch trùng lặp hoàn toàn (cùng mã, cùng số tiền). Nhiệm vụ của bạn là lọc bỏ các bản ghi trùng lặp và sau đó hiển thị các giao dịch duy nhất theo một thứ tự cụ thể: ưu tiên mã giao dịch tăng dần, nếu mã giao dịch bằng nhau thì ưu tiên số tiền tăng dần.
INPUT FORMAT
Dòng đầu tiên chứa số nguyên N
(1 <= N <= 10^5), là tổng số bản ghi giao dịch thô.
N
dòng tiếp theo, mỗi dòng chứa hai giá trị:
Ma_Giao_Dich
So_Tien
Ma_Giao_Dich
: Chuỗi không chứa dấu cách (độ dài từ 1 đến 15 ký tự).So_Tien
: Số nguyên (1 <= So_Tien <= 10^9).
OUTPUT FORMAT
In ra các bản ghi giao dịch duy nhất, mỗi bản ghi trên một dòng, theo định dạng:
Ma_Giao_Dich
So_Tien
Các bản ghi được sắp xếp theo tiêu chí:
Ma_Giao_Dich
tăng dần theo thứ tự từ điển.- Nếu
Ma_Giao_Dich
bằng nhau,So_Tien
tăng dần.
Ví dụ:
Input:
8
TXN001 1000
TXN003 500
TXN001 1000
TXN002 1200
TXN003 700
TXN002 1200
TXN001 1500
TXN003 500
Output:
TXN001 1000
TXN001 1500
TXN002 1200
TXN003 500
TXN003 700
Giải thích: Các bản ghi giao dịch thô:
- TXN001 1000
- TXN003 500
- TXN001 1000 (trùng với bản ghi đầu tiên)
- TXN002 1200
- TXN003 700
- TXN002 1200 (trùng với bản ghi thứ tư)
- TXN001 1500
- TXN003 500 (trùng với bản ghi thứ hai)
Các bản ghi duy nhất sau khi loại bỏ trùng lặp:
- TXN001 1000
- TXN003 500
- TXN002 1200
- TXN003 700
- TXN001 1500
Sắp xếp các bản ghi duy nhất theo tiêu chí (Mã giao dịch tăng dần, nếu bằng thì Số tiền tăng dần):
- TXN001:
- TXN001 1000
- TXN001 1500
- TXN002:
- TXN002 1200
- TXN003:
- TXN003 500
- TXN003 700
Kết quả cuối cùng: TXN001 1000 TXN001 1500 TXN002 1200 TXN003 500 TXN003 700
Comments