锁定老帖子 主题:来玩数独吧,抛砖引玉
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-05
数独有难易程度之分,一般是先求出一个解,然后去掉其中一部分出题,Readonly说的意思是,这样来做题,只有一个解。
PS: 我觉得上面的程序给出解答的速度已经很快了,用回溯法,是不是就到头了呢? |
|
返回顶楼 | |
发表时间:2007-07-24
想请问一下Readonly:“$*.<<”这个是什么意思啊……
|
|
返回顶楼 | |
发表时间:2007-07-24
ruby quiz里面有一个soduku的题目
|
|
返回顶楼 | |
发表时间:2007-07-24
Readonly 写道 老庄,动态语言不是这样写的,你这完全就是披着ruby外衣的java...
其他偶也不多说了,转一行ruby的数独解法代码: $*.map{|a|(i=a=~/0/)?(v=*?1..?9).fill{|j|v-=[a[j+i-k=i%9],a[k+j*=9],a[j%26+i-i%3-i%27+k]]}+v.map{|k|$*.<<$`<<k<<$'}:p(a)} 将这行代码保存为sudoku.rb,接受的数独题目为从左到右,从上到下的一行字符串(0代表空位),运行: ruby sudoku.rb 200370009009200007001004002050000800008000900006000040900100500800007600400089001 得出答案: "284375169639218457571964382152496873348752916796831245967143528813527694425689731" 这样的东西也好叫代码么? |
|
返回顶楼 | |
发表时间:2007-09-17
刚接触数读,感觉满有意思的,感觉每一步都靠推算能出来的题设计起来好有难度ki
|
|
返回顶楼 | |