Có n bóng đèn 0..n-1, ban đầu tắt (0). Muốn đạt cấu hình target (chuỗi '0'/'1'). Thao tác: chọn index i, lật trạng thái tất cả bóng từ i đến n-1. Tìm số lần lật tối thiểu.
Ví dụ: t="0101" → 3 lần (lật từ vị trí 1: 0111 → từ vị trí 2: 0100 → từ vị trí 3: 0101).
Thuật toán
- count=0, x='0'
- Duyệt ký tự i trong target:
- Nếu i != x: count += 1; x = i
- Return count
Code Python
def solve(t):
count = 0
x = '0'
for i in t:
if i != x:
count += 1
x = i
return count
t = "0101"
print(solve(t))
Input
"0101"
Output
3