Sagos

Taškai: 12

Žaidimo lentoje išdėliotos skirtingos sagos. Vienas ėjimas reiškia pastumti kurią nors sagą vienu langeliu aukštyn, žemyn, dešinėn arba kairėn.

Per kiek mažiausiai ėjimų galima sudėlioti visas žalias kvadratines sagas
į lentos apatinę eilę?

Paaiškinimas

Uždavinys apima algoritmo ir optimizavimo sąvokas. Optimizavimas gali būti apibrėžtas kaip alternatyvų su didžiausiu efektyvumu ar aukščiausiu veiksmingumu, kai yra tam tikri ribojimai mažinantys netinkamus veiksnius, radimas. Norėdami pasiekti tikslą, turime rasti mažiausią ėjimų skaičių.

Atsakymas

Teisingas atsakymas: 9.

Uždavinio idėja – sagas sudėlioti atliekant kuo mažiausią ėjimų skaičių.

Pirmiausia reikia pašalinti nežalias sagas iš apatinės linijos. Raudona saga dešiniajame kampe pašalinama trimis ėjimais į viršų. Tada dviem ėjimais dvi žalios sagos atsiranda dešiniuose apatiniuose langeliuose. Likusiai raudonai sagai iš apatinės eilės pašalinti ir likusioms dviem žalioms sagoms padėti reikia mažiausiai keturių ėjimų (cikliškai perstumiant tris sagas kairiajame kampe).
Vadinasi, mažiausiai reikia 9 ėjimų.

Sprendimas gali būti toks:
D3→D4, D2→D3, D1→D2, C1→D1, C2→C1, B2→A2, B1→B2, A1→B1, A2→A1
(Stulpeliai sunumeruoti A, B, C, D iš kairės į dešinę.)

Vis tik norėdami įsitikinti, kad tai tikrai mažiausias galimas ėjimų skaičius, turėtume patikrinti visus įmanomus būdus, t. y. atlikti pilną perrinkimą.

Interaktyvi užduotis

 

 
Informacija atnaujinta 2015-12-03 07:50:57