Palindrome XOR
Đề bài
Mô tả
Cho một xâu gồm các ký tự 1, 0 và ?. Ký tự đầu tiên của được đảm bảo là 1. Gọi là độ dài của .
Đếm số cặp số nguyên thỏa mãn đồng thời các điều kiện sau:
- .
- Biểu diễn nhị phân của và biểu diễn nhị phân của (viết không có số 0 đứng đầu) đều là xâu đối xứng (palindrome).
- Biểu diễn nhị phân của (XOR theo bit) có cùng độ dài với , và với mọi vị trí , ký tự thứ của xâu đó hoặc bằng ký tự thứ của , hoặc ký tự thứ của là
?.
Lưu ý: phải có đúng chữ số nhị phân (không có số 0 đứng đầu), nghĩa là bit cao nhất của luôn là — phù hợp với .
In ra kết quả theo modulo .
Dữ liệu vào
Một dòng duy nhất chứa xâu () gồm các ký tự 1, 0 và ?. Ký tự đầu tiên của là 1.
Dữ liệu ra
In ra một số nguyên duy nhất là số cặp thỏa mãn các điều kiện trên, theo modulo .
Ràng buộc
- .
- chỉ gồm các ký tự
1,0,?. - Ký tự đầu tiên của là
1.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 10110 | 3 | Các cặp (viết ở hệ 2) là , , . |
| 1?0???10 | 44 | Có cặp thỏa mãn. |
| 1 | 0 | nên , không tồn tại cặp với và cả hai đều dương. |
| 11111 | 0 | Bit cuối của luôn là (vì cả và đều lẻ — palindrome bắt đầu bằng ), nên không thể khớp . |
Bình luận