[Buổi 31][DSU][RDD] Bài 7: Thí nghiệm hóa học
Thí nghiệm hóa học
Trong một buổi nghiên cứu khoa học, FullHouse Dev được giao nhiệm vụ theo dõi phản ứng của các giọt dung dịch hóa học trên một tấm kính đặc biệt. Họ nhận thấy rằng khi các giọt hóa học rơi cạnh nhau, chúng sẽ kết hợp tạo thành một giọt lớn hơn.
Bài toán
FullHouse Dev có một tấm kính thí nghiệm kích thước \(n × m\). Khi một giọt hóa chất rơi xuống một ô, nó sẽ kết hợp với các giọt ở các ô liền kề (chung cạnh) để tạo thành một giọt lớn hơn. Lưu ý rằng nếu có nhiều giọt rơi vào cùng một ô, kích thước không thay đổi và tất cả các chỉ số đều bắt đầu từ 1.
INPUT FORMAT:
- Dòng đầu tiên chứa ba số nguyên \(n\), \(m\) và \(q\) - số hàng, số cột và số truy vấn.
- \(q\) dòng tiếp theo, mỗi dòng chứa một truy vấn thuộc một trong hai loại:
- Loại 1: Gồm ba số \(1\), \(x\), \(y\) - tọa độ nơi giọt hóa chất rơi xuống
- Loại 0: Chỉ gồm số \(0\) - yêu cầu đếm số giọt lớn hiện có
OUTPUT FORMAT:
- Với mỗi truy vấn loại 0, in ra số lượng giọt lớn đã được tạo thành tính đến thời điểm hiện tại.
Ràng buộc:
- \(1 \leq n, m \leq 1000\)
- \(1 \leq q \leq 100000\)
- \(1 \leq x \leq n\)
- \(1 \leq y \leq m\)
Ví dụ
INPUT
3 3 5
1 2 1
1 2 2
0
1 3 2
0
OUTPUT
1
1
Giải thích
- Ban đầu, một giọt rơi vào ô (2,1), sau đó một giọt khác rơi vào ô (2,2). Do hai ô này liền kề nhau nên chúng kết hợp thành một giọt lớn.
- Khi truy vấn loại 0 đầu tiên được thực hiện, có 1 giọt lớn.
- Tiếp theo, một giọt rơi vào ô (3,2), nó kết hợp với giọt lớn đã có (vì liền kề với ô (2,2)).
- Khi truy vấn loại 0 thứ hai được thực hiện, vẫn chỉ có 1 giọt lớn (đã kết hợp từ 3 giọt nhỏ).
Comments