Đếm số lượng các tập hợp con

View as PDF

Submit solution


Points: 120.00 (partial)
Time limit: 0.3s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Cho tập hợp {1,2,...,n}. Người ta liệt kê các tập con (khác rỗng) của tập này theo thứ tự từ điển (với mỗi tập con khác rỗng, các phần tử của nó được liệt kê tăng dần).

Ví dụ với n=3 ta có 7 tập con đánh số như sau: 1: 1

2: 1 2

3: 1 2 3

4: 1 3

5: 2

6: 2 3

7: 3

  1. Đếm số lượng các tập hợp con
  2. Cho một tập con, tìm số thứ tự của nó
  3. Cho một số thứ tự , tìm tập con tương ứng.

Dữ liệu vào:

  • Dòng đầu ghi số N(N≤100)

  • Tiếp theo là một số dòng, mỗi dòng có một trong hai dạng sau:

  • 1 ~x_1~ ~x_2~ ... ~x_k~ thể hiện một tập con, tìm số thứ tự tương ứng

  • 2 P thể hiện một số thứ tự, yêu cầu tìm tập con tương ứng

Kết quả:

  • Dòng đầu ghi số lượng tập con tìm được

  • Các dòng tiếp theo tương ứng với các câu trả lời đối với một dòng trong file dữ liệu vào. Nếu là loại 1 ... thì cho ra số thứ tự tương ứng, nếu là loại 2 ... thì cho ra tập con tương ứng.

Ví dụ:
INPUT
3
1 1 2 3
6
OUTPUT
7
3
2 3

Comments

Please read the guidelines before commenting.


There are no comments at the moment.