數斜的解法 - 西洋棋

Jacky avatar
By Jacky
at 2007-12-18T02:20

Table of Contents

自從看了 brianjim大 介紹的 janko.at(2755篇), 也開始玩起 數斜,
不過我用的是 nakururu大 介紹的 Simon Tatham 的 slant 程式(2361篇),
因為 janko.at 的 java 程式反應實在有點慢...

Simon Tatham 的程式我玩得較多的還有 數迴(loopy) 和 數橋(bridges),
它的題目好像真的是用程式出的, 而且難度也不錯, 蠻厲害的!

這星期天心血來潮, 決定挑戰 janko.at 數斜 最高難度的最右一題(no39),
仔細看了題目名稱 "Gokigen Naname" ...., 昏倒!! 這是日文, 不是德文吧?!
正好是日文題名 "ごきげんななめ" 的羅馬拼音, 再查 jp yahoo 的辭典,
還真是有 "不爽" 的意思... ^_^!

從中飯前解到晚飯後, 扣掉吃飯和陪小姪女玩其他 game 的時間,
大概花了 4 個小時才解出來吧?! 其中失敗重頭來過一次...


整理了一些概念和各位同好分享一下:


一. 樣式 (pattern)
數斜 規則上每一格都要有線段, 所以有數字的點可以決定周圍格子的線段,

角 點 決定 1 格.
邊 點 決定 2 格.
中間點 決定 4 格.

基本上用 "不足(線段數)", "超過(線段數)", "造成單位迴圈" 三個概念,
用簡單的歸謬法就可以整理出一些 樣式.

比如說:
横直相鄰的 1-1, 3-3 (都是中間點)
横直相鄰的 (邊點)1-3(中間點)

以上是原始狀態下的 樣式 (原始樣式),
這些都可以決定部分的線段, 而且無論周圍狀況如何都不影響結果.

決定了一些線段後, 就會出現一些 延伸樣式.

比如說:
   ︱ ︱/   /︱ ︱/
  —1—3— → —1—3—
   ︱ ︱\   \︱ ︱\

  /︱ ︱    /︱ ︱/
  —2—2— → —2—2—
   ︱ ︱/   /︱ ︱/

  /︱ ︱    /︱ ︱/
  —┼—3— → —┼—3—
  \︱ ︱    \︱ ︱\

其他就不列舉了.

總之 樣式 和周圍無關, 可獨立推導出該區域的部分(或全部)的結果.


二. 2 的遞延性
和 數迴 斜線相鄰的 2 類似, 數斜 横直相鄰的 2 也有遞延性.
(可參考 turing大 "[心得] 關於數迴的「碰觸」"(2775篇)一文.)

這個遞延性的效果, 看起來像複製, 也有點像推骨牌, 姑且稱為"骨牌效果".

在上項 一. 各種樣式的兩數字中間插入 1 個以上連續的 2, 結果還會相同.


三. 迴圈與邊
數斜 的線可視為兩大組, 概念類似西洋棋中的白格主教和黑格主教.
相鄰邊點延伸的線條不會連在一起, 同一組的線才可能形成迴圈.

只要每一條線都能連到邊點, 就保證不會有任何迴圈.

有些狀況會類似 數橋.
比如說
斜線相鄰的 1-1 (都是中間點), 它們不能連在一起, 否則會形成迴圈(2單位).
這是最簡單的例子.(其實也可以視為一個 樣式.)

所以迴圈的檢查, 除了看迴圈本身以外, 還可以看線條有沒有連到邊上.


janko 站上看到最大的題目是 36 x 24, nikoli.com 的 Puzzle Championship
雖沒有 數斜, 但大題目多是 45 x 31, 我想應該是有考慮顯示器的一般解析度.
要解大題目或許可以用 slant 程式的 Custom 功能 (Type -> Custom...)
設為 45 x 31 試試, 程式會配合解析度自動調整字型大小.

而且 slant 程式會即時檢查 線段數 和 迴圈, 反應又快,
我覺得順的時候還有些暢快感.

第一次在本板 po 文, 請多指教, 謝謝!

Chung

--
沒有成見是種成見?

--

All Comments

Zora avatar
By Zora
at 2007-12-21T13:18
這樣應該差不多把它的解題技巧都說完了 @@
不過它很麻煩的地方就是不容易看出哪裡有迴圈
Audriana avatar
By Audriana
at 2007-12-22T17:39
玩起來的痛苦程度就比數迴高一點
Madame avatar
By Madame
at 2007-12-24T23:04
差不多吧...希望以後還有新發現. ^_^!
Ivy avatar
By Ivy
at 2007-12-29T06:52
迴圈的確比較難, 大概是分歧的關係, 數迴沒有分歧.
Hardy avatar
By Hardy
at 2007-12-30T05:11
大叔,2755篇時,不是就聊到名稱是日文了嗎?XD
Mary avatar
By Mary
at 2007-12-31T12:50
上次的11與33樣式也可考慮加進去,有時挺常見的XD
Donna avatar
By Donna
at 2008-01-05T11:49
骨牌的比喻很不賴耶~不過我喜歡說成骨牌效「應」...
Candice avatar
By Candice
at 2008-01-07T03:09
它也是一種「連鎖反應」.....
David avatar
By David
at 2008-01-10T11:57
一直沒有意會過來, 以為是德文好幾天... @_@
Leila avatar
By Leila
at 2008-01-14T20:51
有列11和33, 只是沒圖示(原始樣式)... ^_^!
Frederic avatar
By Frederic
at 2008-01-15T14:40
哈,真的有耶!
Mason avatar
By Mason
at 2008-01-18T09:37
所以我覺得數斜實在很像數迴,但是玩起來沒那麼爽快 @@a
Heather avatar
By Heather
at 2008-01-21T05:14
數迴的線有「有」與「沒有」兩種變化,數斜的斜也有兩種
Kyle avatar
By Kyle
at 2008-01-21T07:35
所以在「畫面」的呈現上,數斜會比較多一點.....

蠟燭工廠

Kumar avatar
By Kumar
at 2007-11-28T18:58
※ 引述《puzzlez (耶!事情告一段落)》之銘言: : 傑克擁有一家小型蠟燭製造廠,生產和銷售各種不同顏色及造形的蠟燭。他每天都製造一 : 批不同顏色與造形的蠟燭。上星期的主題是西洋棋。請根據以下的線索,推斷出他在星期 : 一至五,每天生產的蠟燭數量、顏色和造形為何。 : ◆基本資料: 其中一組解. ...

蠟燭工廠

Sandy avatar
By Sandy
at 2007-11-28T18:37
傑克擁有一家小型蠟燭製造廠,生產和銷售各種不同顏色及造形的蠟燭。他每天都製造一 批不同顏色與造形的蠟燭。上星期的主題是西洋棋。請根據以下的線索,推斷出他在星期 一至五,每天生產的蠟燭數量、顏色和造形為何。 ◆基本資料: 日期:星期一、星期二、星期三、星期四、星期五 數量:450、500、600、700、7 ...

騎「馬」旅遊

Carol avatar
By Carol
at 2007-11-25T08:49
知道象棋的「馬」和西洋棋的「騎士」怎麼走嗎? 如下圖先直走一格,再斜走一格,在棋盤中央時會有八個可行的點: ┼┼┼┼┼┼┼ ┼┼●┼●┼┼ ┼●┼┼┼●┼ ┼┼┼馬┼┼┼ ┼●┼┼┼●┼ ┼┼●┼●┼┼ ┼┼┼┼┼┼┼ 現在,就請你騎著這匹「馬」從最上面其中一個「K」出發,用上述的行走方式一路旅遊 , ...

請大家幫幫忙 ~

Cara avatar
By Cara
at 2005-05-26T17:51
※ 引述《DavidGuo (君逸)》之銘言: : 這個是無解的, : 這是學離散數學一定會學到的東西, : 任相鄰的兩點將其連線,你會發現這是個 Bipartite Graph, : 要有 Hamiltorian Path 的話,兩個Part的點數最多差一, : 但是現在差二, ...

請大家幫幫忙 ~

Tom avatar
By Tom
at 2005-05-25T23:26
※ 引述《babymiau (讓自己成長)》之銘言: : 有24個棋子 : 排列方式如下 : O O O O O : O O O O O : O O O O O : O O O O O : O O O O : 如何用 直線 還有 橫線 一筆把他畫完呢 : ...