Fillomino 2
Đề bài
Mô tả
Cho một bàn cờ kích thước . Các hàng được đánh số từ đến từ trên xuống dưới, các cột được đánh số từ đến từ trái sang phải. Ô tại giao của hàng và cột được ký hiệu . Đường chéo chính của bàn cờ là tập hợp các ô với .
Trên đường chéo chính được ghi sẵn một hoán vị của tập : ô chứa số . Bạn cần chia tất cả các ô nằm dưới và trên đường chéo chính (tổng cộng có ô) thành vùng thỏa mãn:
- Mỗi vùng phải liên thông theo 4-hướng (lên, xuống, trái, phải).
- Với mọi , vùng thứ phải chứa ô đường chéo có giá trị (tức là ô sao cho ).
- Với mọi , vùng thứ có đúng ô.
- Mỗi ô nằm dưới hoặc trên đường chéo chính thuộc về đúng một vùng.
Có thể chứng minh rằng với mọi hoán vị luôn tồn tại cách chia hợp lệ.
Dữ liệu vào
- Dòng đầu tiên chứa một số nguyên — kích thước của bàn cờ.
- Dòng thứ hai chứa số nguyên — hoán vị trên đường chéo chính.
Dữ liệu ra
Nếu không tồn tại cách chia hợp lệ, in ra .
Ngược lại, in ra dòng. Dòng thứ chứa số nguyên; số thứ trên dòng đó là giá trị nếu ô thuộc vùng có ô.
Nếu có nhiều cách chia hợp lệ, bạn có thể in ra cách bất kỳ.
Ràng buộc
- .
- là một hoán vị của .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 3 1 |
2 2 3 3 3 1 |
Vùng gồm ô . Vùng gồm hai ô và . Vùng gồm ba ô , , . |
| 5 1 2 3 4 5 |
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 |
Mỗi vùng chiếm trọn một hàng có ô, vừa đủ để vùng chứa ô đường chéo . |
Bình luận