奇怪的燈控

2021-10-10 04:45:43 字數 1303 閱讀 7841

問題描述

奇怪的燈控

某居住樓為了舉辦大型慶祝活動,購買了一批燈控裝置,但是這批裝置比較奇特,它有如下功能

一套裝置能控制乙個層樓中所有房間的燈的開關

如果把乙個房間裡的燈熄滅,這個房間後面房間的燈也會熄滅

如果把乙個房間裡的燈點亮,這個房間後面房間的燈也會點亮

假如 用0表示燈是熄滅狀態,用1表示燈是點亮狀態

某樓層的房間號是r1,r2,r3,r4,r5 它們的初始狀態是 [0,0,0,0,0] 說明所有房間的都是熄滅的。

若我們用裝置把第二個房間r2的燈點亮, 那麼 房間r3,r4,r5的燈也會點亮 此時它們的狀態變為 [0,1,1,1,1]

現在,我們要使用這個燈控系統用居民樓顯示文字和圖案。

假設初始狀態所有房間的燈都是熄滅的。

現在給出某層樓裡各個房間的燈的最後狀態。請問最少操作多少次這個燈控裝置,就能使這個樓層的燈變成最後的狀態?

輸入一行,乙個由「0」和「1」組成的字串s,表示各個房間燈的最後狀態

輸入約束

字串s中僅包含字元0或1,且字元個數(房間個數)範圍是 [1,50]

輸出一行,乙個整數,表示為了達到這個效果最少需要的操作次數

例子輸入

輸出解釋:

輸入表示房間的最後狀態是

r1 關

r2 關

r3 開

r4 開

在所有房間的燈都熄滅的情況下,只需要操作裝置把r3房間的燈點亮 就能達到這種效果。所以結果是1,輸出1。

local final = 

local len = #final

local original = {}

local count = 0

for i = 1, len do

table.insert(original, 0)

endfor i = 1, len do

if i > 1 and final[i] == final[i - 1] then

else

count = count + 1

for j = i, len do

original[j] = final[i]

endend

endprint("操作次數:", count)

for i = 1, len do

print(original[i])

end

結果

操作次數:6

初始陣列original =

音控燈專案 專案分析

廣場舞太煩,社會矛盾激烈,也沒啥好的治理辦法,仔細想了想,解決問題的辦法還是要從問題本身入手,燈光作為廣場舞必備的三大件之一,可以拿來做做文章 燈光 大媽,只要湊齊這三大件,那必然有一大波人 音控燈的想法就這樣產生,聲音大了我就滅燈,聲音低於標準我就亮燈,我們兩不耽誤,廣場舞團隊也相互監督,不能由於...

eda交通燈控制器波形輸入 EDA交通燈控制器設計

很高 實驗五十字路 通燈控制器設計 一 實驗目的 進一步加強經典狀態機的設計 學會設計模可變倒計時計數器 二 實驗要求 一條主幹道,一條鄉間公路。組成十字路口,要求優先保證主幹道通行。有 mr 主紅 my 主黃 mg 主綠 cr 鄉紅 cy 鄉黃 cg 鄉綠 六盞交 通燈需要控制 交通燈由綠 紅有 ...

奇怪奇怪的問題

由於需求,我自己寫了乙個mydialog extends dialog 在dialog裡面寫了乙個handler,用來更新dialog上的字。第二次更新介面,需要dialog比第一次變大點。可是dialog在activity裡面顯示,如果activity不掛後台的話,更新很正常。但是我把activi...