數讀的出題方法 - 拼圖

Brianna avatar
By Brianna
at 2008-04-11T20:39

Table of Contents

※ 引述《bobbob (bobbob)》之銘言:
: 想請問ㄧ下...我們平常都是做別人出好題目的數讀...
: 那如果我們自己想出題目的話...請問有啥需要注意的嗎??
: 首先應該是先想好解答...然後再逐步將一些解答拿掉以變成題目吧...
: 那如何得知拿掉哪些格子不會影響解答又可以將最後的答案解出來呢??
: 不知道我這樣敘訴大家看的懂嗎??

我之前寫程式是用跟你相反的作法

先隨機填20個格子 (因為有人研究一個題目至少要17個,有沒有更少的不知道)
(之間當然要確定這20個填完之後盤面還是合法的)

在第21個開始也是隨機填 , 每填完一格檢查有沒有多重解

檢查的方法就是用暴搜+刪去法

因為暴搜可以知道題目有沒有解

用刪去法可能會有唯一解或卡住(no sol)

先暴搜可過以後再丟給刪去法解

若可解題目就會有唯一解了

遇到無解或多重解則有各自的作法不贅述

之前跟同學討論 這樣做可能會有點慢

但"填"比"拔"好的地方是可以創造新的題目

而且如果只是9*9不會太慢 要到16*16才真的需要想別的方法

--

http://blog.yam.com/akqj10
我的 地獄X生活X喜樂

--
Tags: 拼圖

All Comments

Queena avatar
By Queena
at 2008-04-16T16:32
刪去法會no sol @@?
Gary avatar
By Gary
at 2008-04-19T01:49
sudoku 程式可以檢查有幾種解,不過只有 9x9 格
Odelette avatar
By Odelette
at 2008-04-19T10:02
應該是 Simple Sudoku 程式
Eden avatar
By Eden
at 2008-04-21T22:59
哇....這演算法看起來真的很慢
Agatha avatar
By Agatha
at 2008-04-25T18:08
出數獨比解數獨難很多倍……我試過了 orz
Ursula avatar
By Ursula
at 2008-04-27T05:04
會NO SOL 就是填什麼都不對
Yuri avatar
By Yuri
at 2008-04-28T03:21
喔喔 我看懂了XD 一開始以為前一個人的作法叫刪去法

數讀的出題方法

Franklin avatar
By Franklin
at 2008-04-11T14:53
想請問ㄧ下...我們平常都是做別人出好題目的數讀... 那如果我們自己想出題目的話...請問有啥需要注意的嗎?? 首先應該是先想好解答...然後再逐步將一些解答拿掉以變成題目吧... 那如何得知拿掉哪些格子不會影響解答又可以將最後的答案解出來呢?? 不知道我這樣敘訴大家看的懂嗎?? - ...

數讀解不出來 想超久的 拜託幫個忙

Carol avatar
By Carol
at 2008-04-11T00:02
4 │   │3     9  │   7│8 5 4  8 5 │3   │   ─────────────    7 9│ 8 │  3    2 │7   9│5   B    8 5│  2 A│     ─────────────  7 1 8 ...

數讀解不出來 想超久的 拜託幫個忙

Hedy avatar
By Hedy
at 2008-04-10T22:55
※ 引述《sunway0204 (ds)》之銘言: : ※ 引述《jerrylibra (中興GOGO)》之銘言: :   4 │   │3  :    9  │   7│8 5 4 :  8 5 │3   │  :  ───────────── :    7 9│ 8 │ ...

數讀解不出來 想超久的 拜託幫個忙

Callum avatar
By Callum
at 2008-04-10T22:47
※ 引述《jerrylibra (中興GOGO)》之銘言: :   4 │   │3  :    9  │   7│8 5 4 :  8 5 │3   │  :  ───────────── :    7 9│ 8 │  3 :    2 │7   9│5    :   ...

數讀解不出來 想超久的 拜託幫個忙

Michael avatar
By Michael
at 2008-04-10T22:44
※ 引述《jerrylibra (中興GOGO)》之銘言:   4 │   │3     9  │   7│8 5 4  8 5 │3   │   ─────────────    7 9│ 8 │  3    2 │7   9│5   8     8 5│  2  ...