Xếp gạch

View as PDF

Submit solution

Points: 2.10
Time limit: 4.0s
Memory limit: 256M

Authors:
Problem type
Mô tả vấn đề

Snuke có một khuôn hình vuông kích thước ~ N \times N ~ ô.

Mỗi cạnh của hình vuông là một phần của chu vi được gắn một lỗ. Nghĩa là, mỗi bên của lưới được có với ~ N ~ lỗ trống, với tổng số ~ 4 \times N ~ lỗ. Các lỗ này được dán nhãn như sau:

  • Các lỗ ở phía trên của lưới: ~ U1, U2, ..., UN ~ từ trái sang phải
  • Các lỗ ở phía dưới của lưới: ~ D1, D2, ..., DN ~ từ trái sang phải
  • Các lỗ ở phía bên trái của lưới: ~ L1, L2, ..., LN ~ từ trên xuống dưới
  • Các lỗ ở phía bên phải của lưới: ~ R1, R2, ..., RN ~ từ trên xuống dưới

Hình mô tả nhán đánh dấu các lỗ

Snuke có thể chèn một viên gạch từ mỗi lỗ vào khuôn mà lỗ được gắn vào. Khi một ô bên trong đã bị chiếm, ô đang chiếm sẽ được đẩy sang ô tiếp theo và khi ô tiếp theo cũng bị chiếm bởi một ô khác, ô chiếm đó cũng sẽ được đẩy, v.v. Snuke không thể chèn một ô nếu nó sẽ dẫn đến một ô bị đẩy ra khỏi khuôn. Hành vi của các ô khi một ô được chèn được thể hiện chi tiết tại Đầu vào / Đầu ra Mẫu ~ 1 ~.

Snuke đang cố gắng chèn ~ N \times N ~ viên gạch lần lượt từ các ổ cắm để đạt được trạng thái mà mọi ô vuông đều chứa một viên gạch. Ở đây, anh ta phải chèn chính xác ~ U_i ~ viên gạch từ socket ~ Ui ~, ~ D_i ~ viên gạch từ socket ~ Di ~, ~ L_i ~ viên gạch từ socket ~ Li ~ và ~ R_i ~ viên gạch từ socket ~ Ri ~. Xác định xem có thể chèn các viên gạch mà không vượt quá hạn chế hay không. Nếu có thể, các viên gạch nên được lắp từ các ổ cắm theo thứ tự nào?

Hạn chế
  • ~ 1 ≤ N ≤ 300 ~
  • ~ U_i, D_i, L_i ~ và ~ R_i ~ là các số nguyên không âm.
  • Tổng tất cả các giá trị ~ U_i, D_i, L_i ~ và ~ R_i ~ bằng ~ N \ lần N ~.

Input

Đầu vào được cung cấp từ Đầu vào chuẩn ở định dạng sau:

~ N ~

~ U_1 ~ ~ U_2 ~ ~ ... ~ ~ U_N ~

~ D_1 ~ ~ D_2 ~ ~ ... ~ ~ D_N ~

~ L_1 ~ ~ L_2 ~ ~ ... ~ ~ L_N ~

~ R_1 ~ ~ R_2 ~ ~ ... ~ ~ R_N ~

Output

Nếu có thể chèn các viên gạch sao cho mỗi ô vuông sẽ chứa một viên, hãy in nhãn của các ổ cắm theo thứ tự các ô sẽ được chèn từ chúng, mỗi ô trên một dòng. Nếu không thể, hãy in `NO ''. Nếu tồn tại nhiều hơn một giải pháp, hãy in bất kỳ giải pháp nào trong số đó.


Đầu vào Mẫu 1
3
0 0 1
1 1 0
3 0 1
0 1 1
Đầu ra Mẫu 1
L1
L1
L1
L3
D1
R2
U3
R3
D2

Snuke có thể chèn các ô như trong hình bên dưới. Mũi tên cho biết vị trí được chèn một ô, vòng tròn biểu thị một ô và một số được viết trong một vòng tròn cho biết có bao nhiêu ô được chèn trước đó.


Đầu vào Mẫu 2
2
2 0
2 0
0 0
0 0
Đầu ra mẫu 2
NO

Comments

Please read the guidelines before commenting.


There are no comments at the moment.