<prompt> Umepewa mfuatano wa wenye fahirisi 0 sakafu, ambao unawakilisha rangi za vigae kwenye sakafu: sakafui 0 inaashiria kuwa kigae ith cha sakafu kina rangi nyeusi. Kwa upande mwingine, sakafui 1 inaashiria kuwa kigae ith cha sakafu kina rangi nyeupe.Pia unapewa numCarpets na carpetLen. Una zulia numCarpets nyeusi, kila moja ya vigae vya urefu vya carpetLen. Funika vigae kwa mazulia uliyopewa hivi kwamba idadi ya vigae nyeupe bado ionekane kiwango cha chini zaidi. Mazulia yanaweza kuingiliana.Rudisha _idadi kiwango cha chini cha vigae vyeupe bado vinaonekana._Mfano wa 1:Ingizo: sakafu 10110101, numCarpets 2, carpetLen 2Pato: 2Maelezo:Mchoro ulio hapo juu unaonyesha njia moja ya kufunika vigae kwa mazulia hivi kwamba vigae 2 tu vyeupe vinaonekana.Hakuna njia nyingine ya kufunika tiles na mazulia inaweza kuacha tiles chini ya 2 nyeupe kuonekana.Mfano wa 2:Ingizo: sakafu 11111, numCarpets 2, carpetLen 3Pato: 0Maelezo:Mchoro hapo juu unaonyesha njia moja ya kufunika vigae na mazulia ili kwamba hakuna tiles nyeupe zinazoonekana.Kumbuka kwamba mazulia yana uwezo wa kuingiliana.Vikwazo: 1 carpetLen floor.length 1000 sakafui ama ni 0 au 1. 1 numCarpets 1000  <response>: def minVisibleWhiteTilessakafu: str, numCarpets: int, carpetLen: int - int: n, res lensakafu, lenisakafu kwa mimi katika anuwai n - carpetLen 1: count jumla 1 kwa j katika masafacarpetLen ikiwa sakafui j 1 kwa k katika safu1, numCarpets 1: ikiwa k carpetLen - 1 i carpetLen: res dakika res, n - hesabu k if i carpetLen n: hesabu - sakafui carpetLen - k carpetLen 1 hesabu sakafui carpetLen 1 kurudi res 