<< 2019 年 6 月 >>
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6


 トップ > プログラミング > Sudoku  ナンバープレイスを課題にしたプログラム作りです。

 1 2 3 4 5 6 7 8 9 10 11 12 13 
2010/07/29 11:14
1. 数独


ポケット数独 初級篇

「数独」は「すうどく」と読みます。1から9までの数字でマス目(格子の目)を埋めるパズルです。「ナンバープレイス」とも呼ばれます。我が家で購読している北国新聞には、毎週土曜日に「チャレンジ数独(出題・二コリ)」と問題と解答が載ります。因みに、数独は出題者である二コリの登録商標になっています。世界選手権が開かれているほど世界的にも普及しています。英語標記は Sudoku または number-placement puzzle です。詳細についてはウィキペディアをご参照ください。

私が作成した問題になりますが、実際の出題と解答は次のようになります。

例題
4
1
6
1
9
3 7
8
3
5
1 6
5
4
3
7
2
7
4
5 3
6
2
8
   
例題の解答
234
517
698
165
829
347
789
436
125
126
843
759
798
251
634
354
967
218
982
371
465
573
486
912
641
592
873

ルールは単純です。9×9の正方形には81個のマス目があります。これを9個のマス目を持つ区画に分けます。まず、下図(1)のように九つの行に分けます。下図(2)のように九つの列に分けます。そして、下図(3)のように3×3の九つの区画に分けます。合計27個の区画について、1から9までの九つの数字を、抜けも重複もなくこれらのマス目に入れます。

(1) 1×9の区画
123456789
123456789
123456789
123456789
123456789
123456789
123456789
123456789
123456789
 
(2) 9×1の区画
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
 
(3) 3×3の区画
123123123
456456456
789789789
123123123
456456456
789789789
123123123
456456456
789789789

上にあげた例題には、この単純なルールを満たす解答がただひとつだけ存在します。複数の解答があってもよいのかもしれませんが、そのような出題は一般的にはされないようです。出題者は、解答がただ一つになるように、出題時にマス目に入っている数字の値と位置を決めなくてはなりません。

区画を増やしたり、9×9の正方形を変形させたりすることで、いろいろなバリエーションが考えられます。正方形の対角線上の九つのマス目を新たな区画として追加することもできます。区画の追加は出題者側の負担になりこそすれ、解答者側には問題が解きやすくなります。

以上のように、数独のルールは非常に単純なので、アルゴリズムの記述に慣れるための実習課題として最適ではないかと思います。


(Sudoku) 2010/07/29 11:14

名前:
コメント:
投稿キー: ※右の文字列を入力してください。