Ma trận nhị phân lớn nhất
Đề bài
Mô tả
Cho một ma trận vuông kích thước ban đầu gồm toàn số . Bạn cần đặt đúng số vào ma trận sao cho ma trận thu được:
- Đối xứng qua đường chéo chính (đường chéo đi từ góc trên bên trái xuống góc dưới bên phải), nghĩa là ô hàng cột bằng ô hàng cột với mọi .
- Lớn nhất theo thứ tự từ điển.
Một ma trận được coi là lớn hơn ma trận khác theo thứ tự từ điển nếu tại hàng khác nhau đầu tiên (tính từ trên xuống), ở vị trí khác nhau đầu tiên (tính từ trái sang phải), số trong ma trận thứ nhất lớn hơn số tương ứng trong ma trận thứ hai.
Nếu không tồn tại ma trận thỏa mãn, in ra .
Dữ liệu vào
Một dòng gồm hai số nguyên và .
Dữ liệu ra
Nếu tồn tại đáp án, in ra ma trận kết quả gồm hàng, mỗi hàng số cách nhau bởi dấu cách. Ngược lại in ra .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 | 1 0 0 0 |
Đặt số vào ô góc trên trái để ma trận lớn nhất theo thứ tự từ điển. |
| 3 2 | 1 0 0 0 1 0 0 0 0 |
Không thể đặt cả hai số trên hàng đầu vì ô ngoài đường chéo cần đối xứng (tốn số để giữ đối xứng nhưng lại phá tính lớn nhất). Đặt hai số lên đường chéo tại và . |
| 2 5 | -1 | Ma trận chỉ chứa được tối đa số , không thể đặt số. |
Bình luận