CSES - Two Sets II | Hai tập hợp II

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: 1400 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Hãy đếm số cách mà các số \(1, 2,\ldots,n\) có thể được chia thành hai tập hợp có tổng bằng nhau.

Ví dụ, với \(n = 7\), có \(4\) cách chia:

  • \(\{1,3,4,6\}\)\(\{2,5,7\}\)
  • \(\{1,2,5,6\}\)\(\{3,4,7\}\)
  • \(\{1,2,4,7\}\)\(\{3,5,6\}\)
  • \(\{1,6,7\}\)\(\{2,3,4,5\}\)

Input

  • Gồm một dòng duy nhất chứa số nguyên \(n\) \((1 \leq n \leq 500)\).

Output

  • In đáp án - số cách thoả mãn chia lấy dư cho \(10^9 + 7\).

Example

Test 1

Input
7
Output
4
Note

Có 4 cách chia như đã liệt kê trong phần mô tả đề bài:

  • \(\{1,3,4,6\}\)\(\{2,5,7\}\)
  • \(\{1,2,5,6\}\)\(\{3,4,7\}\)
  • \(\{1,2,4,7\}\)\(\{3,5,6\}\)
  • \(\{1,6,7\}\)\(\{2,3,4,5\}\)

Bình luận (8)

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