Ghét xâu con
Đề bài
Mô tả
Cho một xâu nhị phân (chỉ gồm các ký tự 0 và 1). Trong một thao tác, bạn chọn một vị trí trong xâu và lật ký tự tại vị trí đó (0 thành 1 hoặc 1 thành 0).
Một xâu được gọi là đẹp nếu nó không chứa xâu con (subsequence) 010 và cũng không chứa xâu con 101. Ở đây "xâu con" hiểu theo nghĩa subsequence: thu được bằng cách xoá đi một số (có thể là 0) ký tự, các ký tự còn lại giữ nguyên thứ tự.
Với mỗi test, hãy tính số thao tác ít nhất cần thực hiện để biến thành một xâu đẹp.
Có thể chứng minh rằng luôn tồn tại cách biến đổi.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số lượng test trong file.
- dòng tiếp theo, mỗi dòng chứa một xâu nhị phân .
Dữ liệu ra
Với mỗi test, in ra trên một dòng số thao tác ít nhất cần thực hiện.
Ràng buộc
- chỉ gồm các ký tự
0và1.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 001 100 101 010 0 1 001100 |
0 0 1 1 0 0 2 |
Test 1, 2, 5, 6: xâu vốn đã đẹp. Test 3 101: lật ký tự đầu thành 001 (đẹp).Test 4 010: lật ký tự giữa thành 000 (đẹp).Test 7 001100: lật ký tự thứ 3 và 4 thành 000000 (đẹp). |
| 3 110 0111000 0110 |
0 1 1 |
110 đã đẹp.0111000 chứa 010 (vị trí 1, 2, 5); lật ký tự đầu thành 1111000 (đẹp).0110 chứa 010 (vị trí 1, 2, 4); lật ký tự cuối thành 0111 (đẹp). |
Bình luận