Schema "Pencilmark" da Clipboard

 

Dalla versione - v 2008 04 01 - del "Sudoku 9x9 Logic Solver & Report Builder" è presente una macro che facilita l'importazione in Excel di schemi "tipo pencilmark" proposti in formato testo.

La macro è accessibile dalla user form, attivabile dal foglio "Pencilmark Grid", che contiene tutte le funzioni di importazione schemi, gioco e aiuti al gioco del file.

Gli schemi "tipo pencilmark" contengono, oltre ai candidati inseriti fissi iniziali, anche i candidati residui nelle altre celle dai quali iniziare le valutazioni per progredire verso la soluzione: in sostanza si tratta di schemi parzialmente risolti.

Una variante molto interessante degli schemi "tipo pencilmark" è il "Sukaku" (detto anche "No-given Sudoku" - "Pencilmark Sudoku" - "Suuji Kakure") dove non ci sono candidati inseriti fissi iniziali ma solo candidati residui di cella: però anche il Sukaku, per essere valido, deve avere un'unica soluzione.

Il codice acquisisce gli appunti di Windows in una variabile "DataObject" ed estrae dal testo tutti i caratteri numerici da 1 a 9, considerandoli validi come candidati residui iniziali dello schema da risolvere.

I candidati residui singoli di cella sono pari, quindi, agli inserimenti fissi iniziali.

I separatori, tra i candidati di una cella e la successiva, sono gli spazi vuoti, che possono essere anche più di uno e in numero variabile.

Tutti gli altri caratteri sono ignorati:

Di seguito sono incollati alcuni tipi di schema in formato testo, tratti da internet, che si possono importare: potrebbero però esistere altri tipi.

Per l'importazione basta selezionare un testo che rappresenta uno schema "tipo pencilmark" (anche "Sukaku") da un qualsiasi file o pagina web, copiarlo negli appunti (con il classico "CTRL + C" o comando "Copia" da tasto destro etc.) e lanciare la macro: lo schema sarà importato nel foglio "Pencilmark Grid" del "Sudoku 9x9 Logic Solver & Report Builder".

 

 

*--------------------------------------------------------------------------------------*
| 1        7        38       | 249      289      6        | 389      2349     5        |
  234568   2345689  3568     | 2459-1  *1289     7        |*1389    *12349    2489-1   |
| 2458     24589    58       | 12459    3        12458    | 6        7        12489    |
|----------------------------+----------------------------+----------------------------|
| 256      256      7        | 8        4        12       |#159     #12569    3        |
| 23468    23468   *1368     | 127      5        9        |*178     *1246     2468-1   |
| 9        2458    *158      | 127      6        3        |*1578    *1245     248-1    |
|----------------------------+----------------------------+----------------------------|
| 356      356      4        | 1569     7        15       | 2        8        169      |
| 7        3568     9        | 2456-1  *128      2458-1   |*135     *1356     6-1      |
| 568      1        2        | 3        89       58       | 4        569      7        |
*--------------------------------------------------------------------------------------*

 

 

+-------------------+---------------------+------------------+
|@1R37  6     1237  | 13478   5    1478   | 2347  2378  9    |
| 37    2359  4     | 36789  $3g9  6789   | 23567 1    $278g |
| 8     359   13579 | 134679  2    14679  | 3456  3567 @4G7R |
+-------------------+---------------------+------------------+
|@1G4R  7    $15g8  | 24G59  $19g  3      |$12g9 $28g   6    |
| 2    @3R4G  136   | 4679    8    4679   | 1379  37    5    |
| 9     358   13568 | 2567   $1g6  2567   | 1237  4     1278 |
+-------------------+---------------------+------------------+
| 6    @24R89 289   | 12589   7    12589  |@124G5 25    3    |
|@34G7  1     2379  | 23569  $36g9 2569   | 8     2567 @24R7 |
| 5    $238r  2378  | 12368   4    1268   | 1267  9     127  |
+-------------------+---------------------+------------------+

 

 

+---------------------+----------------+-----------------+
|3      7      5      |6    1     8    |9     4    2     |
|1      2      4      |(35) 9     (35) |8     7    6     |
|6      9      8      |(27) (27)  4    |3     5    1     |
+---------------------+----------------+-----------------+
|(49)   (156)  (2369) |8    (45)  7    |(15)  (26) (349) |
|(4789) (58)   (29)   |1    3     6    |(57)  (28) (49)  |
|(478)  (1568) (36)   |9    (45)  2    |(157) (68) (34)  |
+---------------------+----------------+-----------------+
|2      (68)   (679)  |(37) (678) (39) |4     1    5     |
|5      3      (67)   |4    (67)  1    |2     9    8     |
|(89)   4      1      |(25) (28)  (59) |6     3    7     |
+---------------------+----------------+-----------------+

 

 

    14      2      3 ||     7      5      9 ||   148     148       6
     8      7     14 ||     2      6    134 ||     5       9     134
     9     56     56 ||   138    138   1348 ||     7       2     134
=====================||=====================||======================
    26    156  12568 ||  1358      4    138 ||     9       7     158
     3    145      7 ||   158      9      6 ||   148    1458       2
    14   1459  14589 ||   158      2      7 ||    36      36    1458
=====================||=====================||======================
     5   1369   1269 ||     4      7    138 || 12368    1368     189
    67  13469   1469 ||    69    138      2 || 13468  134568  145789
   267      8  12469 ||    69     13      5 || 12346    1346    1479

 

 

2467   2468   247    | 678    1      9      | 348    5      38
9      4568   457    | 5678   3567   3567   | 2      48     1
1      58     3      | 58     2      4      | 6      9      7
------------------------------------------------------------------
3      24569  2459   | 457    4579   57     | 5789   1      5689
46     4569   1      | 2      34579  8      | 3579   367    3569
8      7      59     | 156    3569   1356   | 359    2      4
------------------------------------------------------------------
5      234    8      | 9      467    267    | 1      3467   36
47     39     6      | 1457   457    157    | 389    38     2
247    1      2479   | 3      8      267    | 4579   467    569

 

 

5      19#c    169   | 12      8       7       | 126#a#e   4     3
123#c  7       13#c  | 9       4       6       | 5         8     12#d
126#c  8       4     | 1235    125     123     | 7         9     126#d
---------------------+-------------------------+------------------------
369    2       3679  | 34568   5679    3489    | 468#a#e   1     689
8      4       1369  | 1236    1269    1239    | 26#a#e    7     5
169    5       1679  | 12468   12679   12489   | 2468#a#e  3     2689-2
---------------------+-------------------------+------------------------
7      3       2     | 1468    16      148     | 9         5     18
19     6       8     | 7       19      5       | 3         2     4
4      19#b    5     | 128-1   3       1289-1  | 18#b      6     7

 

 

  5     19   169  |  12    8     7   | 126    4     3   
 123    7     13  |  9     4     6   |  5     8     12 
 126    8     4   | 1235  125   123  |  7     9    126 
------------------+------------------+------------------
 369    2    3679 |34568  5679  3489 | 468    1    689 
  8     4    1369 | 1236  1269  1239 |  26    7     5   
 169    5    1679 |12468 12679 12489 | 2468   3    2689
------------------+------------------+------------------
  7     3     2   | 1468   16   148  |  9     5     18 
  19    6     8   |  7     19    5   |  3     2     4   
  4     19    5   | 128    3    1289 |  18    6     7  

 

 

*-----------------------------------------------------------*
| 3 1569 7 | 1459 159 48 | 689 569 2 |
| 168 2 1569 | 1359 159 38 | 689 4 7 |
| 48 459 459 | 7 2 6 | 389 359 1 |
|-------------------+-------------------+-------------------|
| 47 49 2 | 6 48 1 | 5 379 389 |
| 146 8 1569 | 345 7 34 | 169 2 69 |
| 167 156 3 | 2 58 9 | 4 167 68 |
|-------------------+-------------------+-------------------|
| 5 146 146 | 8 3 7 | 2 169 469 |
| 2 7 146 | 19 169 5 | 136 8 346 |
| 9 3 8 | 14 146 2 | 7 16 5 |
*-----------------------------------------------------------*

 

 

        4      3|8|9      3|5 |  2  3|9  6 |      1      7    5|8
  1|3|5|9  1|2|3|8|9        6 |  7  3|9  4 |  2|8|9  2|3|8  2|5|8
        7      2|3|9      2|3 |  8    5  1 |  2|4|9  2|3|4      6
------------------------------+------------+---------------------
        2          5        9 |  4    8  7 |      3      6      1
      3|6      3|6|7      3|7 |  9    1  5 |  2|4|8  2|4|8    2|8
        8        1|4      1|4 |  6    2  3 |      5      9      7
------------------------------+------------+---------------------
      1|6    1|2|4|6      1|4 |  5    7  9 |    2|8  1|2|8      3
      3|5      2|3|7  2|3|5|7 |  1    4  8 |      6    2|5      9
    1|5|9        1|9        8 |  3    6  2 |      7    1|5      4

 

 

(1/4/5) (1/4/5/7) {8} | {2} (1/4/7/9) {6} | {3} (1/4/5/9) (5/9)
{3} (1/4/7) (1/2/4/6) | {5} (1/4/7/9) (4/7) | (1/2/4/6) (1/4/9) {8}
(1/2/4/5/6) {9} (1/2/4/6) | {8} (1/4) {3} | (1/2/4/6) {7} (5/6)
 
{9} {6} {7} | {1} {8} {2} | {5} {3} {4}
{8} {2} {5} | {3} (4/7) (4/7) | {9} {6} {1}
(1/4) (1/4) {3} | {6} {5} {9} | {7} {8} {2}
 
(1/6) {8} {9} | {4} {3} {5} | (1/6) {2} {7}
{7} (4/5) (2/6) | {9} (2/6) {1} | {8} (4/5) {3}
(1/2/4/5/6) {3} (1/2/4/6) | {7} (2/6) {8} | (1/4/6) (1/4/5/9) (5/6/9)

 

 

[57]   [4567] [2467] [26]   [457]  [8]    [9]    [3]    [1]   
[9]    [8]    [2467] [1]    [3]    [2456] [45]   [27]   [45]   
[3]    [1]    [247]  [9]    [457]  [245]  [6]    [27]   [8]    
[4]    [2]    [1]    [5]    [6]    [7]    [8]    [9]    [3]    
[6]    [3]    [8]    [4]    [1]    [9]    [7]    [5]    [2]    
[57]   [57]   [9]    [8]    [2]    [3]    [1]    [4]    [6]    
[2]    [46]   [5]    [36]   [9]    [1]    [34]   [8]    [7]    
[1]    [47]   [347]  [23]   [8]    [245]  [2345] [6]    [9]    
[8]    [9]    [346]  [7]    [45]   [2456] [2345] [1]    [45]   

 

 

Schema "Sukaku" o "No-given Sudoku"

.------------------------.------------------------.------------------------.
| 14789   12349   389    | 136789  1236    12479  | 3458    123469  3789   |
| 123469  15689   123578 | 124568  12346   12     | 45689   146     146789 |
| 46789   2368    1235789| 1234567 234     23468  | 2678    169     3679   |
:------------------------+------------------------+------------------------:
| 36789   1459    4679   | 2489    2578    13478  | 34      1358    679    |
| 25689   2356    379    | 1459    47      14679  | 246     358     58     |
| 4689    34567   134789 | 23568   23789   345679 | 1235679 678     126    |
:------------------------+------------------------+------------------------:
| 24678   346789  12369  | 135679  13459   256789 | 579     168     258    |
| 347     23579   3689   | 125679  1678    123459 | 135     1356    123458 |
| 1567    245789  123478 | 48      12679   489    | 38      789     156789 |
'------------------------'------------------------'------------------------'