JOI 2015 - Rampart

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 10.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Vương quốc IOI là lưới \(H\times W\). Một thành lũy kích thước \(s\) (\(s\ge3\)) là đường viền dày một ô của một hình vuông \(s\times s\), tức phần còn lại sau khi bỏ hình vuông trong \((s-2)\times(s-2)\).

Thành lũy quanh thủ đô có kích thước ít nhất \(L\). Có \(P\) ô được biết chắc không có thành lũy. Hãy đếm số thành lũy có thể có, xét mọi kích thước và vị trí hoàn toàn nằm trong lưới, không đi qua ô bị cấm.

Dữ liệu vào

Dòng đầu chứa \(H,W,L,P\). Mỗi trong \(P\) dòng sau chứa \(A_i,B_i\), là hàng từ trên xuống và cột từ trái sang của một ô không có thành lũy.

Dữ liệu ra

In số thành lũy có thể có.

Ràng buộc

  • \(1\le H,W\le4000\),
  • \(3\le L\le H,\quad3\le L\le W\),
  • \(0\le P\le100\,000\),
  • \(1\le A_i\le H,\quad1\le B_i\le W\),
  • các cặp \((A_i,B_i)\) đôi một khác nhau.

Phân nhóm

  • Nhóm 1 (4 điểm): \(H,W\le500\).
  • Nhóm 2 (16 điểm): \(P\le10\).
  • Nhóm 3 (80 điểm): không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
5 5 3 2
2 2
4 3
Output
4

Ví dụ 2

Input
7 8 4 3
2 2
3 7
6 5
Output
13

Ví dụ 3

Input
4000 4000 1234 4
1161 3028
596 1892
3731 2606
702 1530
Output
7050792912

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: