ProjectEuler 424 Kakuro - 拼圖

Table of Contents

424. Kakuro

http://projecteuler.net/problem=424

http://projecteuler.net/project/images/p_424_kakuro1.gif

以上的範例為一「蒙面數和」的謎題以及解答。

(關於數和的規則可以在許多網站查到。其他相關資訊亦可在這個網站查得:

http://krazydad.com 這個網站的作者正是本題題目的資料提供者。)

以下的文件:http://projecteuler.net/project/kakuro200.txt 包含了兩百道

蒙面數和的題目,混合了5 ×5和6 ×6兩種尺寸。

第一道題目即為上面顯示的例題,其編碼如下:

6,X,X,(vCC),(vI),X,X,X,(hH),B,O,(vCA),(vJE),X,(hFE,vD),O,O,O,O,(hA),O,I,
(hJC,vB),O,O,(hJC),H,O,O,O,X,X,X,(hJE),O,O,X

第一個字元是用來表示尺寸的數字,6代表5 ×5、7代表6 ×6,後面以半形逗號隔開。

額外的第一列和第一行是用來放提示數字用的。

其餘由左而右、由上而下依序為每一格的內容,並用半形逗號相隔。

 ‧X代表灰格,即該格沒有任何提示也不需要填入數字。

 ‧O(大寫英文字母)代表白格,即該格需要填入數字。

 ‧A到J的大寫字母分別代表解謎後的數字0到9的其中一個。

 ‧()半形括號用來表示該格有蒙面和。水平的蒙面和在蒙面數前面會有一小寫h,而鉛
  直的蒙面和則是小寫v。後面則跟著題示的蒙面和,兩位的蒙面數會顯示兩個字母。
  當該格需要同時表示水平和鉛直的蒙面和,則將兩數在半形括號內以半形逗號隔開,
  並一律先表示水平的部分。例如在例題中的(hFE,vD)。每個半形刮號後面也都用半形
  逗號區隔。

 ‧最後一個格子後面接的是換行字元(CRLF)而不是半形逗號。

每個謎題的解為該蒙面數和的正確解答中A到J的字母分別代表的數字。上述例題的解即為

8426039571。每個謎題一定會含有至少9個蒙面字母。當只給出9個時,第10個字母的值即

為0到9裡面剩下沒用到的那個數字。

已經得知前10道題的解的和為64414157580。

請求出全部200道題的解的和。


--

All Comments

Sarah avatarSarah2013-04-25
太有趣了XD