1156 - Thao tác trên bảng ô vuông

Tạo bởi: CLB Olympic Tin học HUTECH

Mô tả yêu cầu

Cho một bảng ô vuông gồm n dòng và m cột. Các dòng được đánh số từ 1 đến n, các cột được đánh số từ 1 đến m. Ô nằm ở dòng i và cột j được gọi là ô (i, j). Có k ô màu đen trên bảng, ô đen thứ i nằm ở vị trí (x_i, y_i). Các ô còn lại trong bảng đều có màu trắng.

Bạn có thể thực hiện một trong hai loại thao tác sau (mỗi thao tác có thể được thực hiện nhiều lần hoặc không lần nào).

  • Chọn một dòng chỉ gồm các ô màu trắng, và xóa dòng đó khỏi bảng
  • Chọn một cột chỉ gồm các ô màu trắng, và xóa cột đó khỏi bảng

Hãy tìm cách thực hiện các loại thao tác trên, sao cho số ô còn lại trong bảng là nhỏ nhất có thể.

Dữ liệu vào

  • Dòng đầu tiên gồm ba số nguyên n, m, k (1 \leq n, m, k \leq 10^5) - số dòng, số cột của bảng và số ô đen.
  • k dòng tiếp theo, dòng thứ i gồm hai số nguyên x_i, y_i (1 \leq x_i \leq n, 1 \leq y_i \leq m) - vị trí của ô đen thứ i. Dữ liệu vào đảm bảo không có hai ô đen nào ở cùng vị trí.

Dữ liệu ra

In ra số ô còn lại nhỏ nhất có thể sau khi thực hiện hai loại thao tác trên.

Giới hạn

50% số test tương ứng với 50% số điểm có n, m, k \leq 100.

Ví dụ

Dữ liệu vào Sao chép
3 4 3
2 1
2 4
3 3
Dữ liệu ra Sao chép
6
Dữ liệu vào Sao chép
4 4 4
2 1
3 4
4 1
4 4
Dữ liệu ra Sao chép
6

Gợi ý/Hướng dẫn

- Bảng lúc ban đầu trong ví dụ thứ nhất:

16737005214238.png

Ta có thể thực hiện thao tác biển đổi bảng như sau (các ô màu đỏ tương ứng với dòng hoặc cột được xóa):

16737005554080.png

- Bảng lúc ban đầu trong ví dụ thứ hai:

16737006202219.png

Ta có thể thực hiện thao tác biển đổi bảng như sau:

16737006481229.png
Đăng nhập để làm bài
Thông tin
Giới hạn thời gian 1 giây
Giới hạn bộ nhớ 128 MB