2008年12月28日 星期日

20081229 問題

我真是不要命了



都忙成這樣還有時間想這個.......




前一陣子很瘋的數獨(Sukodu),

要怎麼寫程式去描述?



目前大概有個底。

二維陣列的數字填入並不難,

後面的檢查才是關鍵。

目前只能做到一個維度數字不重複,

要如何檢查第二個維度同時間兼顧第一個維度的正確性,

這才是目前需要搞定的地方。



程式寫完了,再來要進入數學了。



原本是不給定陣列元素,讓程式亂數產生數獨陣列。

如果我現在給定其中n個陣列元素,對於數獨解的數目,會有多少影響?

最少需要給定多少個陣列元素,數獨陣列才會有必然的唯一解?

給定的陣列元素的位置,對於數獨陣列又有多少影響?

如果只能給定1個陣列元素,有沒有可能數獨陣列會有唯一解?如果不可能,那將陣列元素擺在哪個座標,會有最少解?

最後,有沒有可能在不違反規則的情況下,給定特定數目的陣列元素,使數獨陣列變成無解?



以上問題,先等我程式寫出來再說。

如果有人可以提出完整證明或是程式碼(限用C語言),請留言給我。

沒有留言:

張貼留言