Hoán vị không điểm cố định
Đề bài
Mô tả
Cho một hoán vị bị thiếu của số nguyên phân biệt (với ). Một số vị trí trong dãy đã bị thay bằng giá trị , biểu thị các phần tử bị mất.
Hoán vị gốc (trước khi bị xoá) không có điểm cố định, tức là không tồn tại chỉ số nào sao cho .
Yêu cầu của bạn là đếm số cách khôi phục hoán vị gốc — nghĩa là điền lại các vị trí bằng các giá trị còn thiếu sao cho dãy thu được là một hoán vị của và không có điểm cố định nào. In kết quả modulo .
Dữ liệu vào
- Dòng 1: số nguyên .
- Dòng 2: số nguyên ( hoặc ). Đảm bảo trong dãy đã cho không có điểm cố định, có ít nhất hai giá trị , và mỗi giá trị dương xuất hiện không quá một lần. Đảm bảo luôn tồn tại ít nhất một cách khôi phục hợp lệ.
Dữ liệu ra
Một số nguyên duy nhất — số cách khôi phục hoán vị gốc, lấy modulo .
Ràng buộc
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 -1 -1 4 3 -1 |
2 | Hai hoán vị hợp lệ là và . |
| 6 -1 -1 -1 -1 -1 -1 |
265 | Toàn bộ vị trí đều bị mất, kết quả chính là số mất thứ tự (derangement) . |
| 2 -1 -1 |
1 | Chỉ có duy nhất hoán vị thoả mãn điều kiện không điểm cố định. |
Bình luận