[DHBB24 - CTB - 11] Bài 1: Phép toán AND
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Là một học sinh trong top đầu của đội tuyển Tin học, mỗi khi học xong một chuyên đề hay một dạng bài nào đó, An thường xuyên tìm tòi các bài tập liên quan trên các trang online judge để luyện tập thêm. Ngoài ra có những lúc An còn sáng tạo ra nhiều bài toán để giúp các bạn trong lớp cùng luyện tập.
Một lần khi được học về các phép toán thao tác bit, An đã nghĩ ra một bài toán liên quan đến phép toán AND như sau:
Cho một dãy số nguyên không âm ~a_1, a_2, \dots, a_n~ và một số nguyên dương ~k~. Hãy xác định xem có thể chọn ra ~k~ số nguyên từ dãy đã cho, sao cho khi thực hiện phép toán AND ~k~ số này (nếu xét chúng ở dạng biểu diễn nhị phân) sẽ cho kết quả bằng 0. Nếu có thể chọn được đưa ra thông báo “YES”, ngược lại đưa ra “NO”.
Yêu cầu: Xác định xem có thể chọn ra ~k~ số nguyên từ dãy đã cho sao cho kết quả AND của chúng bằng 0 hay không.
Input
- Dòng đầu chứa số nguyên dương ~T~ là số bộ dữ liệu.
- ~T~ nhóm dòng sau, mỗi nhóm gồm 2 dòng:
- Dòng 1: Chứa 2 số nguyên ~n~ và ~k~.
- Dòng 2: Chứa ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~0 \le a_i < 2^{12}, i = 1, 2, \dots, n~).
Output
- Ghi ra ~T~ dòng là kết quả của từng bộ dữ liệu tương ứng.
Sample Input 1
1
3 2
5 4 3
Sample Output 1
YES
Bình luận