<prompt> Nyumba ya mdudu fulani iko kwenye mhimili wa x kwenye nafasi x. Wasaidie kufika hapo kutoka kwenye nafasi 0.Mdudu huruka kulingana na sheria zifuatazo: Inaweza kuruka haswa nafasi za a mbele kulia. Inaweza kuruka nafasi za b haswa nyuma upande wa kushoto. Haiwezi kuruka nyuma mara mbili mfululizo. Haiwezi kuruka kwa nafasi yoyote iliyokatazwa.Huenda mdudu huyo akaruka mbele zaidi ya nyumbani kwake, lakini haiwezi kuruka hadi kwenye nafasi zilizo na nambari kamili za negative.Kwa kuzingatia safu kamili ya nambari imekatazwa, ambapo imekatazwai inamaanisha kuwa hitilafu haiwezi kuruka hadi kwenye nafasi iliyokatazwai, na nambari a, b, na x, kurejesha _kiwango cha chini zaidi. idadi ya miruko inayohitajika ili mdudu afike nyumbani kwake_. Iwapo hakuna mlolongo wa kuruka unaowezekana ambao utatua hitilafu kwenye nafasi x, rudisha -1.Mfano wa 1:Ingizo: haramu 14,4,18,1,15, a 3, b 15, x 9Pato: 3Maelezo: Kuruka 3 kwenda mbele 0 - 3 - 6 - 9 kutamrudisha mdudu nyumbani.Mfano wa 2:Ingizo: haramu 8,3,16,6,12,20, a 15, b 13, x 11Pato: -1Mfano wa 3:Ingizo: haramu 1,6,2,14,5,17,4, a 16, b 9, x 7Pato: 2Maelezo: Rukia moja mbele 0 - 16 kisha kuruka moja nyuma 16 - 7 kutamrudisha mdudu nyumbani.Vikwazo: 1 imekatazwa.urefu 1000 1 a, b, imekatazwai 2000 0 x 2000 Vipengele vyote katika vilivyokatazwa ni tofauti. Nafasi x haijakatazwa.  <response>: kutoka kwa makusanyo kuagiza dequedef minimumJumps imekatazwa, a, b, x: forbidden_positions kuweka haramu q deque0, 0, 0 alitembelea 0, 0 wakati q: pos, hatua, nyuma q.popleft ikiwa pos x: hatua za kurudi mbele_pos pos a nyuma_pos pos - b ikiwa forward_pos 6000 na forward_pos haziko katika nafasi_zisizokatazwa na mbele_pos, 0 hazijatembelewa: alitembelea.ongezambele_pos, 0 q.appendmbele_pos, hatua 1, 0 ikiwa nyuma 0 na backward_pos 0 na backward_pos si katika haramu_pos na backward_pos, 1 haijatembelewa: alitembelea.ongezanyuma_pos, 1 q.appendnyuma_pos, hatua 1, 1 kurudi -1 