Chia gia tài
Đề bài
Mô tả
Do tuổi đã cao, Phú Ông quyết định chia toàn bộ ruộng đất của mình cho người con. Đất của Phú Ông là một hình chữ nhật khá rộng lớn.
Bằng đường rào ngang và đường rào dọc song song, Phú Ông ngăn đất thành dòng, cột. Mảnh đất giới hạn bởi các đường rào ngang và dọc gọi là lô đất, như vậy Phú Ông có lô đất. Lô đất ở dòng , cột có giá trị (giá trị có thể âm).
Để chia đất cho người con, ban đầu ông tách đất thành miếng rời nhau bằng đường rào ngang hoặc rào dọc. Miếng đất thứ nhất được chia cho người con đầu. Với miếng đất thứ hai, ông cũng tách thành miếng rời nhau bằng đường rào ngang hoặc rào dọc trên miếng đất này và chia cho người còn lại. Kết quả là mỗi người con nhận được miếng đất có dạng hình chữ nhật (số lô đất trong mỗi miếng có thể khác nhau, nhưng mỗi miếng có ít nhất một lô đất). Miếng đất thứ nhất (của người con đầu) có thể là bất kỳ miếng nào trong hai miếng tách ra ở lần đầu. Để công bằng, Phú Ông muốn các miếng đất phải có giá trị bằng nhau. Giá trị của miếng đất bằng tổng giá trị tất cả lô đất thuộc miếng đất đó.
Yêu cầu: Hãy giúp Phú Ông tìm một cách chia thỏa mong muốn hoặc thông báo không thể thực hiện.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên và .
- Dòng thứ trong dòng sau chứa số nguyên : giá trị của lô đất tương ứng trên dòng .
Dữ liệu ra
- Dòng đầu tiên ghi thông báo YES nếu tìm được một cách chia, ngược lại ghi thông báo NO.
- Trường hợp tìm được một cách chia thì dòng tiếp theo chứa mô tả đường tách thứ nhất và thứ hai tương ứng. Mỗi đường tách được mô tả theo dạng
c i, trong đó cho biết đường tách là ngang () hay dọc (), và là chỉ số dòng (hoặc cột) nằm ngay phía trên (hoặc ngay bên trái) đường tách:N ilà đường rào ngang nằm giữa dòng và dòng ,D ilà đường rào dọc nằm giữa cột và cột . Dòng và cột được đánh số bắt đầu từ theo toàn bộ mảnh đất ban đầu (kể cả với đường tách thứ hai). - Đường tách thứ hai phải nằm hẳn bên trong một trong hai miếng tạo ra bởi đường tách thứ nhất. Nếu có nhiều cách chia, in ra một cách bất kỳ.
Ràng buộc
- .
- (mọi giá trị khác và có thể âm).
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 4 3 8 1 -6 2 -3 2 2 -1 8 1 1 |
YES N 1 D 2 |
Đường ngang dưới dòng tách ra dòng (giá trị ). Miếng còn lại (dòng , ) được tách bởi đường dọc sau cột thành hai miếng giá trị và . |
| 2 2 -8 6 10 -3 |
NO | Không có cách thực hiện. |
| 3 1 1 1 1 |
YES N 1 N 2 |
Ví dụ bổ sung so với đề gốc: đường tách thứ hai nằm giữa dòng và dòng của mảnh đất ban đầu nên ghi N 2 (không đánh số lại trong miếng đất thứ hai). |
| 2 2 2 1 2 1 |
YES D 1 N 1 |
Ví dụ bổ sung so với đề gốc: người con đầu nhận cột (giá trị ), cột được tách bởi đường ngang giữa dòng và dòng thành hai lô giá trị . |
Bình luận