#5319. Tìm Tập Người Bao Phủ Kỹ Năng (Mã bài: COVER)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho n người với các kỹ năng cho trước (mỗi người được biểu diễn bằng một bitmask), và một mặt nạ need . Hãy tìm tập nhỏ nhất những người sao cho hợp nhất kỹ năng của họ bao phủ toàn bộ need . Nếu không thể, in -1.

Dữ liệu:

  • Dòng 1: Số nguyên n ((1 \le n \le 20)).
  • Dòng 2: Một số nguyên need ((0 \le need < 2^k,;k \le 20)).
  • n dòng tiếp: mỗi dòng là một số nguyên biểu diễn bitmask kỹ năng của một người.

Kết quả: Một số nguyên là số lượng người ít nhất để bao phủ need , hoặc -1 nếu không thể.

Ví dụ:

Dữ liệu:

3
5
9
6
4

Kết quả:

2