<prompt> Umepewa safu ya mistatili isiyopishana ya mistatili rects ambapo rectsi ai, bi, xi, yi inaonyesha kuwa ai, bi ni sehemu ya chini kushoto ya kona ya mstatili ith na xi, yi ni sehemu ya kona ya juu kulia ya mstatili ith. Tengeneza algoriti ili kuchagua nukta kamili ndani ya nafasi iliyofunikwa na mojawapo ya mistatili uliyopewa. Hatua kwenye mzunguko wa mstatili imejumuishwa katika nafasi iliyofunikwa na mstatili.Sehemu kamili ndani ya nafasi iliyofunikwa na mojawapo ya mistatili iliyotolewa inapaswa kuwa na uwezekano sawa wa kurejeshwa.Kumbuka kuwa nukta kamili ni nukta ambayo ina viwianishi kamili.Tekeleza darasa la Suluhisho: Solutionint rects Huanzisha kitu kwa mistatili iliyotolewa rects. int pick Hurejesha nukta nambari nasibu u, v ndani ya nafasi iliyofunikwa na mojawapo ya mistatili iliyotolewa.Mfano wa 1:Ingizo Suluhisho , chagua, chagua, chagua, chagua, chagua-2, -2, 1, 1, 2, 2, 4, 6, , , , , Patonull, 1, -2, 1, -1, -1, -2, -2, -2, 0, 0 UfafanuziSuluhisho la suluhisho Suluhisho jipya-2, -2, 1, 1, 2, 2, 4, 6;suluhisho.chagua; kurudi 1, -2suluhisho.chagua; kurudi 1, -1suluhisho.chagua; kurudi -1, -2suluhisho.chagua; kurudi -2, -2suluhisho.chagua; rudisha 0, 0Vikwazo: 1 urefu wa rects 100 rectsi.length 4 -109 ai xi 109 -109 bi yi 109 xi - ai 2000 yi - bi 2000 Mistatili yote haiingiliani. Angalau zaidi simu 104 zitapigiwa kuchagua.  <response>: chatukuagiza bila mpangiliokutoka kwa kuchapa Orodha ya kuingizaSuluhisho la darasa: def __init__binafsi, rects: ListOrodhaint: self.rects rects self.areas 0 lenirects eneo_la_binafsi.jumla 0 kwa mimi, rect in enumeraterects: eneo rect2 - rect0 1 rect3 - rect1 1 binafsi.maeneoi eneo eneo_la_binafsi.jumla eneo def pickself - Listint: rnd nasibu.randint0, eneo_la_binafsi - 1 idx 0 wakati rnd self.areasidx: rnd - self.areasidx idx 1 x random.randintself.rectsidx0, self.rectsidx2 y random.randintself.rectsidx1, self.rectsidx3 kurudi x, ymaelezoKanuni inajumuisha kuanzisha kipengee cha Suluhisho kwa kuhifadhi rects na kukokotoa eneo la kila mstatili. Maeneo yanahifadhiwa, na eneo_jumla linakokotolewa kwa kujumlisha maeneo yote ya mstatili.Wakati kitendakazi cha chagua kinapoitwa, thamani nasibu, rnd, inatolewa ndani ya masafa 0, total_area-1. Faharasa idx ya mstatili iliyo na ncha inapatikana, ikiongeza maeneo hadi rnd ifikie thamani iliyo chini ya eneo la mstatili na faharasa idx hiyo inamaanisha kuwa mstatili katika idx ndio tunaohitaji.Kisha, viwianishi viwili kamili vya nasibu, x na y, vinatolewa ndani ya safu ya mstatili uliochaguliwa, na uhakika x, y hurejeshwa.Hii inahakikisha kwamba kila nukta kamili ndani ya nafasi iliyofunikwa na mojawapo ya mistatili iliyotolewa itakuwa na uwezekano sawa wa kurejeshwa. 