Biến đổi nhị phân
Đề bài
Mô tả
Với một dãy nhị phân bất kỳ, ta biến đổi dãy nhị phân như sau: mỗi chữ số của dãy được thay đồng thời theo quy tắc
Như vậy, với dãy bắt đầu là , sau bước biến đổi thứ nhất, ta sẽ thu được dãy . Sau phép biến đổi thứ , ta thu được . Sau phép biến đổi thứ , ta thu được , ...
Người ta muốn tính xem, bắt đầu từ dãy , sau bước biến đổi sẽ thu được dãy gồm có bao nhiêu cặp số đứng liên tiếp (tức là số vị trí mà chữ số thứ và chữ số thứ của dãy đều bằng ). Với , dãy chỉ gồm một chữ số .
Dữ liệu vào
Gồm một số test, mỗi test được ghi trên một dòng, mỗi dòng ghi một số nguyên không âm . Dữ liệu kết thúc ở cuối file.
Dữ liệu ra
Với mỗi test, theo đúng thứ tự trong dữ liệu vào, ghi ra trên một dòng số cặp số đứng liên tiếp. Đáp án có thể rất lớn, cần in ra giá trị chính xác.
Ràng buộc
- .
- Số test (số dòng) từ đến .
Subtasks
- Subtask 1 ( số test): .
- Subtask 2 ( số test): .
- Subtask 3 ( số test): .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 3 |
1 1 |
Sau bước được dãy , có một cặp . Sau bước được dãy , có một cặp (chữ số thứ và thứ ). |
| 4 0 1 5 10 |
3 0 0 5 171 |
Ví dụ bổ sung (không có trong đề gốc). Sau bước được dãy , có cặp . Với (dãy ) và (dãy ) không có cặp nào. |
Bình luận