<prompt> Kwa kuzingatia jozi n za mabano, andika chaguo la kukokotoa ili _kutoa michanganyiko yote ya mabano yaliyoundwa vizuri_.Mfano wa 1:Ingizo: n 3Pato: ,,,, Mfano wa 2:Ingizo: n 1Pato: Vikwazo: 1 n 8  <response>: chatudef generate_parenthesisn: def generate_parenthesis_helper fungua, funga, sasa: ikiwa imefunguliwa 0 na funga 0: tokeo.ongezaya sasa kurudi ikiwa imefunguliwa 0: generate_parenthesis_helperfungua - 1, funga 1, ya sasa ikiwa karibu 0: generate_parenthesis_helperfungua, funga - 1, sasa matokeo produce_parenthesis_helpern, 0, matokeo ya kurudimaelezoKanuni hutumia kitendakazi kisaidizi kiitwacho generateParenthesisHelper ambacho hupokea vigezo vinne: idadi ya mabano yaliyo wazi yaliyoachwa ili kuwekwa, idadi ya mabano yaliyo karibu yaliyoachwa ili kuwekwa, mfuatano wa sasa unaoshikilia mabano yaliyotolewa kufikia sasa, na orodha ya matokeo ya kuhifadhi. michanganyiko halali.Kanuni hutumia utafutaji wa kina-kwanza ili kuunda michanganyiko halali ya mabano. Huanza na n mabano yaliyofunguliwa na kuongeza idadi ya mabano ya karibu huku ikiweka mabano yaliyo wazi. Wakati kazi ya msaidizi haina mabano ya wazi au ya karibu yaliyoachwa mahali, inamaanisha mchanganyiko halali unapatikana, kwa hiyo huongeza mchanganyiko kwenye orodha ya matokeo.Kazi ya msaidizi inajiita yenyewe. Ikiwa kuna mabano yaliyo wazi yaliyoachwa mahali, inajiita na mabano moja isiyo wazi na mabano moja zaidi ya karibu. Ikiwa kuna mabano ya karibu yaliyoachwa mahali, inajiita bila kubadilisha idadi ya mabano yaliyo wazi na kwa mabano moja ya karibu. Hatimaye, kamba ya sasa katika kila kesi inasasishwa kwa mabano yaliyowekwa wazi au ya karibu. 