<prompt> Umepewa m x n matrix kamili gridi, ambapo m na n zote ni hata nambari kamili, na k kamili.Matrix ina tabaka kadhaa, ambazo zinaonyeshwa kwenye picha hapa chini, ambapo kila rangi ni safu yake mwenyewe:Mzunguko wa mzunguko wa matrix hufanywa kwa kuzungusha kwa mzunguko kila safu kwenye tumbo. Ili kuzungusha safu kwa mzunguko mara moja, kila kipengele kwenye safu kitachukua nafasi ya kipengele kilicho karibu katika mwelekeo wa kinyume na saa. Mfano wa mzunguko umeonyeshwa hapa chini:Rudisha _matrix baada ya kutumia_ k _mizunguko ya mzunguko kwake_.Mfano wa 1:Ingizo: gridi 40,10,30,20, k 1Pato: 10,20,40,30Maelezo: Takwimu zilizo hapo juu zinawakilisha gridi katika kila jimbo.Mfano wa 2:Ingizo: gridi 1,2,3,4,5,6,7,8,9,10,11,12,13, 14,15,16, k 2Pato: 3,4,8,12,2,11,10,16,1,7,6,15,5,9, 13,14Maelezo: Takwimu zilizo hapo juu zinawakilisha gridi katika kila jimbo.Vikwazo: m grid.length n gridi ya taifai.length 2 m, n 50 Zote m na n ni hata nambari kamili. 1 gridiij 5000 1 k 109  <response>: def rotateGridgridi, k: ikiwa sio gridi ya taifa: gridi ya kurudi m, n lenigridi, lenigridi0 numLayers minm, n 2 kwa safu katika safunumLayers: numToRotate m - 2 safu 2 n - 2 safu - 2 2 effective_k k numToRotate wakati ufanisi_k: temp griditabaka safu kwa i katika safu safu 1, m - safu: temp, gridiisafu gridiisafu, temp kwa j katika safu safu 1, n - safu: temp, gridim - safu - 1j gridim - safu - 1j, joto kwa i katika safu m - safu - 2, safu - 1, -1: temp, gridiin - safu - 1 gridiin - safu - 1, joto kwa j katika safu n - safu - 2, safu, -1: temp, gridlayerj gridsafuj, temp ufanisi_k - 1 gridi ya kurudi 