CSES - Permutation Inversions | Hoán vị nghịch thế

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Nhiệm vụ của bạn là đếm số lượng hoán vị của \(1, 2, \dots, n\) có đúng \(k\) cặp nghịch thế (tức là cặp hai phần tử ở sai thứ tự).

Ví dụ, với \(n = 4\)\(k = 3\), có \(6\) hoán vị:

  • \([1,4,3,2]\)
  • \([2,3,4,1]\)
  • \([2,4,1,3]\)
  • \([3,1,4,2]\)
  • \([3,2,1,4]\)
  • \([4,1,2,3]\)

Input

  • Dòng đầu vào duy nhất có hai số nguyên \(n\)\(k\)
  • \(1 \le n \le 500\)
  • \(0 \le k \le \frac{n(n-1)}{2}\)

Output

  • In đáp án chia lấy dư cho \(10^9 + 7\)

Example

Test 1

Input
4 3
Output
6
Note

Có đúng 6 hoán vị thỏa mãn có 3 cặp nghịch thế như liệt kê trong phần mô tả bài toán.

Bình luận (2)

Mới nhất
Tải bình luận...