<prompt> Imetolewa kwa mti ambao haujaelekezwa unaojumuisha vipeo n vilivyohesabiwa kutoka 0 hadi n-1, ambao una baadhi ya tufaha katika vipeo vyake. Unatumia sekunde 1 kutembea juu ya makali moja ya mti. _Rejesha muda wa chini zaidi katika sekunde unazotumia kukusanya tufaha zote kwenye mti, kuanzia vertex 0 na kurudi kwenye kipeo hiki._Kingo za mti ambao haujaelekezwa zimetolewa katika safu kingo, ambapo kingoi ai, bi inamaanisha kuwa kuna ukingo unaounganisha vipeo ai na bi. Zaidi ya hayo, kuna safu ya boolean hasApple, ambapo hasApplei true inamaanisha kuwa kipeo i kina tufaha; vinginevyo, haina apple yoyote.Mfano wa 1:Ingizo: n 7, kingo 0,1,0,2,1,4,1,5,2, 3,2,6, inaApple uongo,uongo,kweli,uongo,kweli,kweli,uongoPato: 8Maelezo: Kielelezo kilicho hapo juu kinawakilisha mti uliotolewa ambapo wima nyekundu zina tufaha. Njia moja bora ya kukusanya maapulo yote inaonyeshwa na mishale ya kijani kibichi.Mfano wa 2:Ingizo: n 7, kingo 0,1,0,2,1,4,1,5,2, 3,2,6, inaApple uongo,uongo,kweli,uongo,uongo,kweli,uongoPato: 6Maelezo: Kielelezo kilicho hapo juu kinawakilisha mti uliotolewa ambapo wima nyekundu zina tufaha. Njia moja bora ya kukusanya maapulo yote inaonyeshwa na mishale ya kijani kibichi.Mfano wa 3:Ingizo: n 7, kingo 0,1,0,2,1,4,1,5,2, 3,2,6, inaApple uongo,uongo,uongo,uongo,uongo,uongo,uongoPato: 0Vikwazo: 1 n 105 edges.length n - 1 kingoi.urefu 2 0 ai bi n - 1 hasApple.length n  <response>: def minimum_distanceneno: str - int: def dpkwanza: int, pili: int, pos: int - int: ikiwa pos lenneno: kurudi 0 ans kuelea inf kwa mimi katika kwanza, pili: ikiwa mimi! -1: dx absnenopos - nenonenoi 6 dy absnenopos - nenonenoi 6 ans minans, mindx, dy 2 maxdx, dy ans dpkwanza, pili, pos 1 ikiwa ya kwanza -1 au ya pili -1: ans minans, dppos if first -1 kingine kwanza, ordnenopos, pos 1 kurudi ans rudisha dp-1, -1, 0 