Fox và đường đi ngắn nhất
Đề bài
Mô tả
Cho một số nguyên dương . Bạn cần dựng một đồ thị vô hướng đơn sao cho số đường đi ngắn nhất giữa đỉnh và đỉnh đúng bằng .
Mỗi cạnh của đồ thị có độ dài . Đường đi ngắn nhất giữa hai đỉnh là đường đi có số cạnh ít nhất; số đường đi ngắn nhất là số lượng các đường đi khác nhau cùng đạt độ dài nhỏ nhất đó.
Đồ thị phải thoả mãn:
- Số đỉnh với .
- Đồ thị vô hướng và đơn: không có khuyên (đỉnh không nối với chính nó) và giữa hai đỉnh có nhiều nhất một cạnh.
- Có ít nhất một đường đi giữa đỉnh và đỉnh .
Dữ liệu đảm bảo luôn tồn tại đáp án. Nếu có nhiều đồ thị hợp lệ, in ra bất kỳ đồ thị nào.
Dữ liệu vào
Một dòng duy nhất chứa số nguyên .
Dữ liệu ra
Dòng đầu in số nguyên — số đỉnh của đồ thị.
dòng tiếp theo, mỗi dòng gồm ký tự mô tả ma trận kề . Ký tự thứ của dòng thứ là 'Y' nếu có cạnh nối đỉnh và đỉnh , ngược lại là 'N'. Các đỉnh được đánh số từ đến .
Ma trận phải đối xứng () và đường chéo toàn 'N' ( = 'N').
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 1 | 2 NY YN |
Đồ thị 2 đỉnh nối trực tiếp: đúng đường đi ngắn nhất 1–2. |
| 2 | 4 NNYY NNYY YYNN YYNN |
Có đường đi ngắn nhất độ dài : 1–3–2 và 1–4–2. |
| 9 | 8 NNYYYNNN NNNNNYYY YNNNNYYY YNNNNYYY YNNNNYYY NYYYYNNN NYYYYNNN NYYYYNNN |
lựa chọn cho đỉnh giữa thứ nhất nhân lựa chọn cho đỉnh giữa thứ hai cho đường đi ngắn nhất độ dài . |
Bình luận