不知不覺中用遊戲學會運算法
  類別:  程式設計
  書號:  ACL047900
  作者:  増井敏克
 

  博客來  
  金石堂  
  天瓏  

「九宮格遊戲」是從投手丘往本壘板的九宮格丟球連線的遊戲。要思考的是九宮格的擊破順序,除了周圍都是板子的5 號之外,只要周圍還有相鄰的板子,就可能同時擊落2 塊板子。舉例來說,當1 號、6 號、9 號的板子被擊落,也就是右圖的狀態時,2 與3、4 與7 以及7 與8 就可能一起被擊落。

Q: 請思考九宮格的板子被擊落的順序有幾種(假設每次投球一定會打到板子)

這個問題的重點在於「被擊落的數字不能再被擊落」。假設擊中的是1 號,「1 與2」或「1 與4」的組合就不能再用。反之,若是「1 與2」被擊落,1 號與2 號的板子就不能再用。為了實現這個規則,可試著將擊落的方式做成陣列。以Ruby 撰寫可寫出下列的程式碼。

A: 798000種

 

關於碁峰隱私權政策聯絡我們     檢視 : PC 版  手機版
碁峰資訊股份有限公司 GOTOP INFORMATION INC.
台北市南港區三重路66號7樓之6 / 7F.-6,No.66,Sanchong Rd.,Nangang District,Taipei
TEL:(02)2788-2408 FAX:(02)8192-4433 劃撥帳號:14244383
Copyright 2014© GOTOP Information Inc, All Rights Reserved 請勿任意連結、轉載