Bài 3: Water (TS10 KHTN thi thử lần 3 - 2026)
Xem PDF
Điểm:
900 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Bạn có ba chiếc cốc có dung tích lần lượt là \(A, B\) và \(C\) lít. Ban đầu, cốc \(1\) chứa đầy nước (\(A\) lít), cốc \(2\) và cốc \(3\) đều rỗng.
Bạn được cho một danh sách gồm \(N\) thao tác. Mỗi thao tác có dạng u v (\(1 \le u, v \le 3, u \neq v\)), nghĩa là rót nước từ cốc \(u\) sang cốc \(v\). Khi rót, bạn rót cho đến khi cốc \(u\) hết nước hoặc cốc \(v\) đầy, tùy điều kiện nào xảy ra trước.
Hãy in ra lượng nước trong ba cốc sau khi thực hiện xong tất cả các thao tác.
Input
- Dòng đầu tiên chứa ba số nguyên dương \(A, B, C\) (\(1 \le A, B, C \le 10^9\)) — dung tích của ba cốc.
- Dòng thứ hai chứa một số nguyên dương \(N\) (\(1 \le N \le 10^5\)) — số lượng thao tác.
- \(N\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u\) và \(v\) (\(1 \le u, v \le 3, u \neq v\)).
Output
- In ra ba số nguyên trên một dòng, cách nhau bởi dấu cách: lượng nước trong cốc \(1\), cốc \(2\) và cốc \(3\).
Example
Test 1
Input
10 7 3
5
1 2
2 3
3 1
2 3
1 2
Output
0 7 3
Note
- Ban đầu: \((10, 0, 0)\)
- \(1 \to 2\): \((3, 7, 0)\)
- \(2 \to 3\): \((3, 4, 3)\)
- \(3 \to 1\): \((6, 4, 0)\)
- \(2 \to 3\): \((6, 1, 3)\)
- \(1 \to 2\): \((0, 7, 3)\)
Test 2
Input
6 4 3
5
1 2
2 3
1 2
2 3
3 1
Output
3 3 0
Note
- Ban đầu: \((6, 0, 0)\)
- \(1 \to 2\): \((2, 4, 0)\)
- \(2 \to 3\): \((2, 1, 3)\)
- \(1 \to 2\): \((0, 3, 3)\)
- \(2 \to 3\): \((0, 3, 3)\) — không đổi do cốc \(2\) hết nước hoặc cốc \(3\) đã đầy.
- \(3 \to 1\): \((3, 3, 0)\)
Scoring
- \(30\%\) số test có ràng buộc bổ sung: tất cả thao tác chỉ liên quan đến cốc \(1\) và cốc \(2\) (\(u, v \in \{1, 2\}\)).
- \(30\%\) số test khác có ràng buộc bổ sung: \(N \le 100\).
- \(40\%\) số test còn lại không có ràng buộc bổ sung.
Kỳ thi:
- Thi thử đợt 3 tuyển sinh lớp 10 Chuyên KHTN 2026 (19 Tháng tư, 2026)
Bình luận