Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình chuyển đổi trạng thái bóng đèn (bulb switcher) dùng chuỗi nhị phân bằng Python

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