<prompt> Hili ni tatizo la mwingiliano.Kuna roboti kwenye gridi iliyofichwa, na unajaribu kuipata kutoka kwa seli yake ya kuanzia hadi seli inayolengwa kwenye gridi hii. Gridi ni ya ukubwa m x n, na kila seli katika gridi ya taifa ama ni tupu au imefungwa. Imehakikishwa kwamba kisanduku cha kuanzia na kisanduku lengwa ni tofauti, na hakuna hata mmoja wao aliyezuiwa.Unataka kupata umbali wa chini kabisa hadi kisanduku lengwa. Hata hivyo, hujui vipimo vya gridi ya taifa, kisanduku cha kuanzia, wala kisanduku lengwa. Unaruhusiwa tu kuuliza maswali kwa kipengee cha GridMaster.Darasa la Thr GridMaster lina vitendaji vifuatavyo: boolean canMovechar direction Hurejesha true ikiwa roboti inaweza kusogea upande huo. Vinginevyo, inarudisha false. sogea utupumwelekeo wa char Husogeza roboti upande huo. Ikiwa hatua hii ingehamisha roboti hadi kwenye seli iliyozuiwa au kutoka kwenye gridi ya taifa, hatua hiyo itapuuzwa, na roboti itasalia katika hali ile ile. boolean isTarget Hurejesha true ikiwa roboti kwa sasa iko kwenye kisanduku lengwa. Vinginevyo, inarudisha false.Kumbuka kuwa mwelekeo katika vitendakazi vilivyo hapo juu unapaswa kuwa herufi kutoka U,D,L,R, inayowakilisha maelekezo ya juu, chini, kushoto na kulia, mtawalia.Rejesha _umbali wa chini zaidi kati ya kisanduku cha kuanzia cha roboti na kisanduku lengwa. Ikiwa hakuna njia halali kati ya seli, rudisha_ -1.Jaribio maalum:Ingizo la jaribio linasomwa kama gridi ya 2D ya ukubwa wa m x n ambapo: gridiij -1 inaonyesha kuwa roboti iko kwenye seli i, j kisanduku cha kuanzia. gridiij 0 inaonyesha kuwa kisanduku i, j kimezuiwa. gridiij 1 inaonyesha kuwa kisanduku i, j ni tupu. gridiij 2 inaonyesha kuwa kisanduku i, j ni kisanduku lengwa.Kuna -1 na 2 moja haswa kwenye gridi. Kumbuka kwamba hautakuwa na maelezo haya kwenye msimbo wako.Mfano wa 1:Ingizo: gridi 1,2,-1,0Pato: 2Maelezo: Mwingiliano mmoja unaowezekana umeelezwa hapa chini:Roboti hapo awali imesimama kwenye seli 1, 0, iliyoashiriwa na -1.- master.canMoveU inarudi kweli.- master.canMoveD inarudisha uwongo.- master.canMoveL inarudisha uwongo.- master.canMoveR inarudisha uwongo.- master.moveU husogeza roboti hadi kwenye seli 0, 0.- master.isTarget inarudisha uwongo.- master.canMoveU inarudisha uwongo.- master.canMoveD inarudi kweli.- master.canMoveL inarudisha uwongo.- master.canMoveR inarudi kweli.- master.moveR husogeza roboti hadi kwenye seli 0, 1.- master.isTarget inarudi kweli.Sasa tunajua kuwa lengo ni seli 0, 1, na njia fupi zaidi ya seli inayolengwa ni 2.Mfano wa 2:Ingizo: gridi 0,0,-1,1,1,1,2,0,0Pato: 4Maelezo: Umbali wa chini kabisa kati ya roboti na seli lengwa ni 4.Mfano wa 3:Ingizo: gridi -1,0,0,2Pato: -1Maelezo: Hakuna njia kutoka kwa roboti hadi seli inayolengwa.Vikwazo: 1 n, m 500 m grid.length n gridi ya taifai.length gridiij ama ni -1, 0, 1, au 2. Kuna moja kabisa -1 katika gridi. Kuna moja kabisa 2 kwenye gridi.  <response>: kutoka kwa functools ingiza lru_cachedef getMaxGridHappinessm, n, introvertsCount, extrovertsCount: lru_cacheHakuna def maxHappyy, mask: ikiwa y n: kurudi 0 zaidi 0 kwa x katika safum 1: furaha 0 ikiwa barakoa x 1: furaha 30 ikiwa x 0 na barakoa 1: furaha 30 kwingine: furaha 20 ans maxans, furaha maxHappyy 1, kinyago 1 x 1 kurudi ans rudisha maxFuraha0, 0 