blob: e50b36e9f83e3a19deb70ccdf78e0e2504b1a25f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# Đề thi bảng C Hội thi Tin học trẻ thành phố Hà Nội lần thứ XXIII - 2017
## Hình vuông
Xét lưới điểm gồm *m* × *n* điểm, các hàng điểm được đánh số bắt đầu từ 1 đến
*m* từ trên xuống dưới, các cột điểm được đánh được đánh số bắt đầu từ 1 đến
*n* từ trái sang phải. Điểm nằm trên hàng điểm *i* và trên cột điểm *j* thì
điểm đó có tọa độ (*i*, *j*).
Tiến hành xóa đi một số điểm, hãy người ta muốn biết những điểm còn lại có thể
tạo được bao nhiêu hình vuông mà mỗi hình vuông có 4 đỉnh là 4 điểm trong các
điểm chưa bị xóa.
### Yêu cầu
Cho biết *m*, *n* và *k* điểm được xóa, hãy đếm số lượng hình vuông mà mỗi hình
vuông có 4 đỉnh là 4 điểm trong các điểm chưa bị xóa.
### Input
* Dòng đầu tiên chứa ba số nguyên *m*, *n*, *k*;
* Dòng thứ *i* trong *k* dòng tiếp theo chứa hai số nguyên *x<sub>i</sub>*,
*y<sub>i</sub>* (1 ≤ *x<sub>i</sub>* ≤ *m*; 1 ≤ *y<sub>i</sub>* ≤ *n*) là
thông tin về toạ độ của điểm thứ i.
### Output
Ghi số lượng hình vuông đếm được.
### Giới hạn
* Subtask 1 [25%]: *m*, *n* ≤ 10; *k* ≤ 10;
* Subtask 2 [25%]: *m*, *n* ≤ 100; *k* ≤ 100;
* Subtask 3 [25%]: *m*, *n* ≤ 1000; *k* = 0;
* Subtask 4 [25%]: *m*, *n* ≤ 1000; *k* ≤ 100.
### Ví dụ
| squares.inp | squares.out |
| ------------ | :---------: |
| 5 5 1<br>5 5 | 46 |
![](squares_example.png)
|