Hoán vị có chu trình
Đề bài
Mô tả
Một hoán vị độ dài là dãy gồm số nguyên phân biệt từ tới . Với một hoán vị độ dài , ta xây dựng đồ thị vô hướng đỉnh như sau:
- Với mỗi , tìm lớn nhất thoả và , thêm cạnh .
- Với mỗi , tìm nhỏ nhất thoả và , thêm cạnh .
(Nếu không tồn tại thoả mãn thì không thêm cạnh.)
Hoán vị được gọi là có chu trình nếu đồ thị tạo ra chứa ít nhất một chu trình đơn (có đỉnh phân biệt).
Cho , đếm số hoán vị có chu trình modulo .
Dữ liệu vào
Một dòng chứa số nguyên ().
Dữ liệu ra
In ra một số nguyên — số hoán vị có chu trình modulo .
Ràng buộc
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 | 16 | Có hoán vị, trong đó hoán vị có chu trình. |
| 583291 | 135712853 | Đáp án sau khi modulo. |
Bình luận