作者:啦啦啦lllhhh
來源:米遊社論壇
聲明
(1)本文只討論三次都是兩個盤子一起轉的情況;
(2)將盤子定義為大、中、小三個盤子;
(3)將順時針作為正方向,逆時針旋轉1/3圈為-1/3圈,等價於順時針5/6圈;
(4)將盤子左端點即題目要求位置,記為零點;
(5)將盤子轉完一圈需要的次數記為週期,將盤子從當前位置轉動到零點所需轉動次數記為步長;
(6)不論是大小盤一起轉,還是大中盤一起轉,大盤每次轉動的角度始終都是一樣的,中小盤同理;且轉動角度只有三種:1/2圓、1/3圓、1/6圓。
假設圓盤初試狀態
小盤順時針轉動1/3圈,中盤逆時針轉動1/6圈,大盤順時針轉動1/6圈;
將題目資訊整理如下:
解題目標
(1)將題目抽象後,只剩週期、剩餘步長兩個量,每次兩個盤轉動就相當於將對應的兩個盤的剩餘步長數都減一,減到零即為轉到了零點,三個剩餘步長都為零,即解題完成。
(2)只有一個或兩個減到零時,可以用週期數代替零,帶入接著減,直至全部減為零。
(3)在減一的過程中,將三個數往兩種情況上靠近:
解上方的例題
附錄
(1)看到有解方程的,還有用線代的,甚至Python的,確實活學活用是好事,但有些麻煩。
(2)自己隨便寫的的例題是有點複雜,但遊戲裡羅盤基本一眼就能看出目標數。
(3)出現剩餘步長裡一個為奇數,另外兩個數相等的情況,理論上是可能會有無解的,但遊戲裡的肯定都是能解的。