<prompt> Kuna vyumba n vilivyoandikwa kuanzia 0 hadi n - 1 na vyumba vyote vimefungwa isipokuwa chumba 0. Lengo lako ni kutembelea vyumba vyote. Walakini, huwezi kuingia kwenye chumba kilichofungwa bila kuwa na ufunguo wake.Unapotembelea chumba, unaweza kupata seti ya funguo tofauti humo. Kila ufunguo una nambari juu yake, inayoashiria chumba ambacho kinafungua, na unaweza kuchukua zote pamoja nawe ili kufungua vyumba vingine.Kwa kuzingatia safu vyumba ambapo vyumbai ni seti ya funguo ambazo unaweza kupata ukitembelea chumba i, rudisha true _kama unaweza kutembelea vyumba vyote, au_ sivyo _vinginevyo_.Mfano wa 1:Ingizo: vyumba 1,2,3,Pato: kweliMaelezo:Tunatembelea chumba 0 na kuchukua ufunguo 1.Kisha tunatembelea chumba 1 na kuchukua ufunguo wa 2.Kisha tunatembelea chumba 2 na kuchukua ufunguo wa 3.Kisha tunatembelea chumba 3.Kwa kuwa tuliweza kutembelea kila chumba, tunarudi kweli.Mfano wa 2:Ingizo: vyumba 1,3,3,0,1,2,0Pato: si kweliMaelezo: Hatuwezi kuingiza chumba nambari 2 kwa kuwa ufunguo pekee unaokifungua uko kwenye chumba hicho.Vikwazo: n vyumba.urefu 2 n 1000 0 vyumbai.urefu 1000 1 jumlavyumbai.urefu 3000 0 vyumbaij n Thamani zote za vyumbai ni kipekee.  <response>: def shortestToChars, c: n lenzi matokeo n kwa _ katika safun pos -n kwa mimi katika safun: ikiwa si c: pos i matokeoi i - pos kwa i katika masafa pos - 1, -1, -1: ikiwa si c: pos i matokeoi minmatokeoi, pos - i matokeo ya kurudi 