Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
PTIT014J - 2014 Bài J - Xiếc khỉ |
Ngày tết thiếu nhi năm nay, tổ dân phố X mời một đoàn xiếc về biểu diễn. Một trong các tiết mục đặc sắc và được các bạn nhỏ yêu thích đó là màn xiếc thú với k con khỉ biểu diễn trên sân khấu. Sàn sân khấu có dạng một lưới ô vuông kích thước n × m, được chia bởi n+1 đường dọc và m+1 đường ngang. Các đường dọc được gán toạ độ theo cột từ 0 đến n, từ trái sang phải, còn các đường ngang được gán toạ độ theo dòng từ 0 đến m, từ dưới lên trên. Giao điểm giữa đường dọc x và đường ngang y có toạ độ (x, y). Khi biểu diễn, mỗi con khỉ sẽ di chuyển theo một hành trình nhất định, con khỉ thứ i sẽ di chuyển theo hành trình gồm các đoạn thẳng nối hai điểm liên tiếp trên lưới lần lượt qua các điểm
(xi,1, yi,1), (xi,2, yi,2), …, (xi,r(i), yi,r(i)),
trong đó r(i) là số điểm trên hành trình của con khỉ i. Để tránh xung đột khi biểu diễn, các đoạn thẳng nối trên hành trình của con khỉ i sẽ không có điểm chung với bất cứ đoạn thẳng nào trên hành trình của con khỉ j (i ≠ j). Hơn nữa, để các con khỉ di chuyển đúng theo hành trình và trang hoàng sân khấu, nghệ sĩ xiếc thú đã tiến hành tô màu các vùng liên thông trên sàn sân khấu được tạo ra từ các đoạn thẳng nối trên các hành trình của k con khỉ và các đường biên của sân khấu, mỗi một vùng sẽ được tô bằng một màu và không có hai vùng nào bị tô bởi cùng một màu.
Yêu cầu: Cho kích thước sàn sân khấu và hành trình của k con khỉ. Hãy tính số màu cần dùng để tô màu các vùng liên thông trên sàn sân khấu được tạo ra từ các đoạn thẳng nối trên các hành trình của k con khỉ và các đường biên của sân khấu.
Input
Dữ liệu vào gồm nhiều bộ dữ liệu tương ứng với nhiều test. Dòng đầu tiên chứa một số nguyên dương không vượt quá 10 là số lượng các bộ dữ liệu. Các dòng tiếp theo chứa các bộ dữ liệu.
Mỗi bộ dữ liệu gồm một nhóm dòng có khuôn dạng:
- Dòng đầu tiên ghi ba số nguyên dương n, m và k (n, m ≤ 106 ; k ≤ 1000);
- Dòng thứ i trong số k dòng tiếp theo mô tả hành trình của con khỉ thứ i (i = 1, 2, ..., k): số đầu tiên của dòng là số r(i) (r(i) ≤ 50); tiếp theo là r(i) cặp số nguyên dương xi,j, yi,j (0 < xi,j < n, 0 < yi,j < m, j = 1, 2, …, r(i)).
Output
Với mỗi bộ dữ liệu, ghi ra trên một dòng một số là số lượng màu cần dùng.
Example
Input: 1
6 5 2
5 2 2 2 3 3 3 3 2 2 2
8 1 1 1 4 4 4 4 1 1 1 2 1 5 2 3 4 Output: 6
Được gửi lên bởi: | adm |
Ngày: | 2014-03-31 |
Thời gian chạy: | 2s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |