#65. Xếp hình 3D (Mã bài: DOM)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Xét hình hộp chữ nhật kích thước 𝑎 × 𝑏 × 𝑐 . Hình hộp có 𝑐 tầng, các tầng được đánh số từ 1 đến 𝑐 ; trên mỗi tầng, có 𝑎 hàng, các hàng được đánh số từ 1 đến 𝑎 ; trên mỗi hàng, có 𝑏 khoảng, các khoảng được đánh số từ 1 đến 𝑏 . Ô nằm ở khoảng 𝑗 trên hàng thứ 𝑖 của tầng 𝑘 được đánh số (𝑘 − 1) × 𝑎 × 𝑏 + (𝑖 − 1) × 𝑏 + 𝑗 .

Nhiệm vụ của bạn là xếp được càng nhiều thanh DOM có kích thước 1 × 1 × 2 vào hình hộp, biết rằng giữa một số cặp ô chung cạnh có vách ngăn, do đó không thể đặt một thanh DOM vào hai ô này được.

Dữ liệu:

  • Dòng đầu chứa bốn số nguyên 𝑎, 𝑏, 𝑐 𝑠\ (𝑠 ≤ 𝑎 × 𝑏 × 𝑐 ≤ 10000) ;
  • Tiếp theo là 𝑠 dòng, mỗi dòng chứa hai số nguyên 𝑝_𝑖, 𝑞_𝑖 là hai ô kề cạnh được đánh số là 𝑝_𝑖, 𝑞_𝑖 mà giữa hai ô có vách ngăn.

Kết quả:

  • Dòng đầu chứa số nguyên 𝑟 là số lượng thanh DOM đặt được trong hình hộp;
  • Tiếp theo là 𝑟 dòng, mỗi dòng chứa hai số nguyên 𝑢_𝑖, 𝑣_i là hai ô kề cạnh được đánh số là 𝑢_𝑖, 𝑣_𝑖 sẽ được đặt thanh DOM mà giữa hai ô đó không có vách ngăn.

Ví dụ:

Dữ liệu:

2 2 2 3
1 2
1 3
3 7

Kết quả:

4
1 5
2 6
3 4
7 8

Giới hạn:

  • Subtask #1: 30\% số điểm có 𝑎 × 𝑏 × 𝑐 ≤ 40 ;
  • Subtask #2: 30\% số điểm khác có s=0, b\le 10, c=1 ;
  • Subtask #3: 40\% số điểm còn lại không có ràng buộc bổ sung.