Ma trận không kề
Đề bài
Mô tả
Hai số và được gọi là kề nhau nếu chúng hơn kém nhau đúng đơn vị, tức là .
Hai ô của một ma trận vuông được gọi là kề nhau nếu chúng có chung một cạnh, tức là ô kề với các ô , , và .
Cho số nguyên , hãy xây dựng một ma trận vuông sao cho:
- Mỗi số nguyên từ đến xuất hiện đúng một lần trong ma trận;
- Nếu và là hai ô kề nhau thì hai số ghi trong chúng không được kề nhau.
Dữ liệu vào
- Dòng đầu chứa một số nguyên là số lượng bộ dữ liệu.
- Mỗi bộ dữ liệu gồm một dòng chứa một số nguyên .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra:
- nếu ma trận cần tìm không tồn tại;
- ngược lại, in ra ma trận thỏa mãn dưới dạng dòng, mỗi dòng gồm số nguyên. Nếu có nhiều ma trận thỏa mãn, in ra bất kỳ ma trận nào.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 2 3 |
1 -1 1 3 5 7 9 2 4 6 8 |
Với ma trận chỉ có số . Với không tồn tại ma trận nào thỏa mãn nên in ra . Với , ma trận in ra là một cách sắp hợp lệ: mọi cặp ô kề nhau đều chứa hai số không hơn kém nhau đúng . Có thể có nhiều đáp án hợp lệ khác. |
| 1 4 |
1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16 |
Một ma trận hợp lệ với : các số lẻ được điền trước theo thứ tự từ trái sang phải, từ trên xuống dưới, sau đó đến các số chẵn. |
Bình luận