Quốc đảo Danglan trên Sao Hoả có n ốc đảo được đánh số từ
Phép toán thao tác bit AND là phép toán luận lý AND trên mỗi cặp bit tương ứng bằng cách nhân chúng lại với nhau, nếu cả hai bit ở vị trí được so sánh đều là
Ví dụ:
''
&
=
Sau khi hoàn thành việc xây dựng các cây cầu, giữa hai ốc đảo nếu có đường đi đến với nhau (thông qua một hoặc một số cây cầu liên tiếp nhau) thì cùng thuộc một quần đảo.
Yêu cầu: Hãy xác định số lượng quần đảo trên quốc đảo Danglan sau khi hoàn thành việc xây dựng các cây cầu theo kế hoạch đã đề ra.
Dữ liệu vào có cấu trúc sau:
- Dòng đầu tiên chứa hai số nguyên dương
và ≤ ) tương ứng là số ốc đảo và chiều dài nhị phân của các số hiệu; - Dòng thứ hai chứa
số nguyên , ,…, ( ≤ < ) tương ứng là số hiệu của các ốc đảo dưới dạng thập phân. Dữ liệu đảm bảo các số hiệu này là phân biệt;
Các số trong tệp cách nhau một dấu cách.
Kết quả: Ghi ra một số nguyên duy nhất là số quần đảo của quốc đảo Dangland.
Ràng buộc:
- Số test ứng với 30% số điểm của bài có:
và ; - Số test ứng với 30% số điểm của bài có:
≤ và ; - Số test còn lại ứng với 40% số điểm của bài có:
≤ và .
Ví dụ:
INPUT 1
3 2
1 2 3
OUTPUT 1
2
INPUT 2
6 5
5 19 7 10 20 12
OUTPUT 2
3
Giải thích:
Comments