問題描述
奇怪的燈控
某居住樓為了舉辦大型慶祝活動,購買了一批燈控裝置,但是這批裝置比較奇特,它有如下功能
一套裝置能控制乙個層樓中所有房間的燈的開關
如果把乙個房間裡的燈熄滅,這個房間後面房間的燈也會熄滅
如果把乙個房間裡的燈點亮,這個房間後面房間的燈也會點亮
假如 用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...