JOI 2008 - Masking Tape

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: 1700 (p) Thời gian: 1.5s Bộ nhớ: 64M Input: bàn phím Output: màn hình

Để quảng bá Olympic Tin học, bạn muốn sơn một tấm ván ép hình chữ nhật làm biển hiệu. Trên những chỗ không muốn sơn đã dán các miếng băng che hình chữ nhật. Bạn sẽ dùng một màu khác nhau cho mỗi vùng được ngăn cách bởi băng che.

Biết vị trí các miếng băng che, hãy tính số màu cần dùng. Các cạnh của băng che song song với các cạnh tấm ván. Toàn bộ tấm ván không bị phủ kín bởi băng che.

Dữ liệu vào

Đọc từ đầu vào chuẩn.

Dòng đầu chứa chiều rộng \(w\) và chiều cao \(h\), với \(1 \le w,h \le 1000000\).

Dòng thứ hai chứa số miếng băng che \(n\), với \(1 \le n \le 1000\).

\(n\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên \(x_1,y_1,x_2,y_2\), là tọa độ góc dưới trái và góc trên phải của một miếng băng che. Các tọa độ thỏa mãn \(0 \le x_1 < x_2 \le w\), \(0 \le y_1 < y_2 \le h\).

Góc dưới trái của tấm ván là \((0,0)\) và góc trên phải là \((w,h)\).

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chứa số màu cần dùng.

Chấm điểm

Giới hạn thời gian: \(1.5\) giây mỗi bộ dữ liệu. Giới hạn bộ nhớ: \(64\) MB.

\(20\) bộ dữ liệu, mỗi bộ \(1\) điểm, tổng cộng \(20\) điểm. \(30\%\) số điểm ứng với \(w \le 100\), \(h \le 100\), \(n \le 100\).

Ví dụ

Ví dụ 1

Input
15 6
10
1 4 5 6
2 1 4 5
1 0 5 1
6 1 7 5
7 5 9 6
7 0 9 2
9 1 10 5
11 0 14 1
12 1 13 5
11 5 14 6
Output
5
Giải thích

Các miếng băng che trong ví dụ chia phần cần sơn thành \(5\) vùng, nên cần \(5\) màu.

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: