Sudoku Programmers Forum Index

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log inLog in          Games  Calendar

Log in to check your private messagesLog in to check your private messages   

Bit Based Sudoku Solver (BB_Sudoku) V0.5
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Sudoku Programmers Forum Index -> Programming sudoku
View previous topic :: View next topic  
Author Message
briturner

Joined: 14 Oct 2008
Posts: 75
:

Items
PostPosted: Wed Jan 21, 2009 12:10 am    Post subject: Reply with quote

Greetings,

I do not have a generator for GT LT puzzles yet, but I did get a quick killer solver in place. Actually, it is not a very good killer sudoku solver, but it does work.

I used http://www.sudocue.net/weeklykiller.php?id=33 as a test puzzle.

I have 3 methods for solving killer:
1) for each sum, have a list of possible numbers for each sum and number of cells. eliminate the numbers that are not possible. When you have a knows, eliminate the number, reduce number of cells, and the sum, repeat.
2) loop through each possibility of each cell, if the sum matches, mark the values as possible. try all the possibilities.

#2 is an improvement over #1 (though not in the first pass), and practice with my kakuro solver shows the extra overhead of #2 is well worth the expense compared to the missed eliminations of #1.

3) this is not a kakuro method, but is even better for killer sudoku. It has to do with taking the cells that call outside a box or line for additional information. For example, on the puzzle I linked above, in box 1, 9+13+17+19-45=13, so cells d2 and b4 have to equal 13. Simpler puzzles could even provide givens this way. I have not implemented this yet, though it should provide faster solving.

brit
Back to top
View user's profile Send private message
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Wed Jan 21, 2009 2:02 pm    Post subject: Reply with quote

Greetings,
How long does your solver to solve the example you given?
I have made a Killer Editor(win32 application,windows),very very easy to edit killer games.
I have displayed most part of the code(about killer editor) in this topic, page 3 or 4.
Congratulations to get quick killer solver!
I think It's difficult to write a quick killer solver, more difficult than GT.
I also will write the function Unify,it's a good function.But difficult to write.
Do you have ICQ?


Last edited by zhouyundong on Wed Jan 21, 2009 2:22 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Wed Jan 21, 2009 2:14 pm    Post subject: Reply with quote

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010002220101020000100000002020002001001001000000020001220020000000022200001010101001010001100020000100200020200010000000200020000000120000000002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000102020002101000000001000000000000002022020000202002110200002010000202000001001002200001101021121202022000000000110200000001000010001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001102000200200210000000001210020021221220002000000002000000021010110020100200220000010210001200200100020000000001212202001202012100011010010
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020202100000000000020000002022000002220000020000222002001112020200000100210002002100000110101020000000000010100000001202000211000000001000001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010022000000001102010100000020010012200200102000000100000200000002200222221000020020000020220000200020000201000000000002002000220000202100000011
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010002102000000110000000001002200001001220000200000000011020200000020200000000020101020000222001000000001110112000020100200100002020010001000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220120000020202010100000000200200002000100012000000000120022010000002000000011100121000100211001000102110001012001000020211100122000010021000001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020200002000000020100100000001002002002001201000000200000200000000000000000000110001011022000000000100000200002102210001000002000000001020110
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120021000021121010000000000011000102200012012002001001000100022100022020000002200220000000002100010010001010000000010012000110000000001222000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000020000210000022012001001000000000000212000001010000010000121000002002120000002000000020210101020000010022000100010200122000020101012110
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000002200000000000000002020002200001010010000020000021120001002002000002220122000200022122021102000001120200210001000002022010000000001210120
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120002000020000000012101000200000020000000000000001020100010010100000022000110021000000000100000000002122022120000000220221220100000000100102210
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001022000000000022020201021000000001010111221202000001020000120010022000000000001100000000100120000102010020010000000000021000001002011211
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200001001001200000101002221200010100100002000002000010100200000000020002000100012001002011000000002001010220120000200100102000021001012010202022
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010200010101000002022200000002202002000100000201101000101012011100000210200011000000200001010000000200021220000002200110001100000012000020102
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000002020000000002000222101000000002221200100020001200000121022002200000200211000020000010010110000001202000002000001000111100010020220020
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102100220200100102001200000200000000002022000020020000020200000001110000200120000000000002100100100100000020200100010000012100100110001110
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101002120200000102100100010212020222101000000200200001002020100110100002001000020201000001002210010000000001202020000000000221012000022210120100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111001000000020010002001011000001100020000012001101000200020210200000101202220000000000100000200002000000000001101001001002200000000100000002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100210002100100210010000020000021002000010202121000000100000010000020222002100110020000100001020020002200222000000000011010000212120020100000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200200000010220002200000000012202001000010002201010000002200101200000210100100000020000000010001001200000000000001200200200220000001100120000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000112000020000110000000020001001002200100102010200001000010020000001011001221022200020202000000201002002000010100000122000000022200102000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002210102001000000020000000000000100201010000010020020102210111020201000000002120112001202002000120220000200200022000011111000202002022200000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000210001002000000200022010010200000000000210002200021000022000000000211202000000010001120010010020210000000000000000010001001220000020020000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200001001001001000020020000010102200002000220001002100000000110200000020200122102201000202000100000020120200020000000120000001211000020022002000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102100022002002222002002201200020000000011002220000101000002000020100000010001011000101011200000002001010100000000002000001001102000011012000200
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002022000022011112000002000010000010200000002020001001002201200000001110200000001200000201200002100012200001000020202010020022100000002020200000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000020022220010000000010002000000001002000000000110010200222011000000100002002001020002002100010000022020001020021010200220021000001000011
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010100000010000000000011012201000001001001010001010101010100020001010210100200210020201000002000000000110000100100000200000120000000200002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200010002020000010020000001000020002200200000000010002020100021200002012000101001000000011010022000000100110020002120110010120200102000201020001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212210102002122120010002100020100100100000200200000000020020000121010011110001000111020101021100202220120000100210000100110100200000010100000111
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000211000000201022010000000000122000010002000000220102010001020020000010200020000020200200000000100000121000020210002000110000010000100210010100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000001000110112000110000012202001110010000210200000001000110210000102000120001020002000000100001000102001002000010001010220002100000000010
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102000200001222020002110100000002220201100002000202000010002020000210200000021000202020010000000000000000011212000200200000210010011002000002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110110001000100220110010000200000010002000012010220010002200202010011022000000221001001000000200000110010020211001020000000202010000021002002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111002100000012110000000001001200001000002022200001110000201000222002000002212020000000200010100021100101010000200000000200001012000000002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101211001210001200000000021010000000002220112201011011202200002000120120100022000000200000000101011200001000010000100000010001001020022000121
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000200101000101010000201110010010000020000022000010010010001110000100000121100020020000020002010020002210011200100000000020000220210200010001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000100000000000202002100010010020000000000010201102012200200201100000012120200010020001002002020020000001000100001001002000001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120102020101100210200020000202002000000011000000010200100000020000102001010011000000000010010000000012000202000000020201000020000000000000200010
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200210100010022010201010000200020100010000001000000200000100010200002201200100200000100100010002200200020210010100000211011200001001000022000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020022000101102000101001202122202000020000220002001100202000020011000000200200000000020100000100000000000100000000021020101001000010200100000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100002001021100020011200202200000000000020001000001202000020020000000000000000000200000000000011000000010020010010020010000202002020001100000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020200100020000000000000011000011100110000220001220011000020200000000001010000011200020120201200000000000002002101000000001020100000101100002022
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200200200120001102001110000200100110000012002020021200010001012000000010001022010201000000000101111000020000000001102000000010100001000000010100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220012220012200202200000001020101001000020002010220002000200201000100222021000000200000102000020000212020010200000000000000010022000220000020000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120110001220000211000001010100100001011000000210002010100000202110010100000000210000000202120002001020102000102210001020000010200000202220020001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000201000010000201000002200000020001022000002001000202001012210202010100111122010020100000010212200001002202221011000000000020000200020000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200010211002102001001120102110002010212002001000002000000020000100020100000110100000000000120000202100000002002010002002000000110100001020001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002002202010002001000000111100010000100021000000000200001000110000100000000220000020002120120021020001000002001000000000021201000110022200202
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101002000001100001000002200000100001222020200212000011100020020000021100101000000012020121210210122020000112101000000000210000022100020120021
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000002200110002010000100000000100002010010201010000010001010000010200001000200000202100101000001010102101000011100200020120020000000211200000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200202000200000000000000000120010002012000000002000002110201000002000011121000022002020001020000110120001001000100020100100100000100000001100000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000001011102002000010002002100200110000000000000020220200000020120000020000202200002020002020200100201002002022000010020010010100020010202
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102201000000001000020000000002001101000010021001122000000020200100001121221002022002001000022100111100010100001000000010000200010000010000100000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200020200001010011200000000100020202000010002000110002002020210002102101101001010002100010000212010001002201000000011001110201011000000100000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100002010000020202002012220010202201101000000120002110001000100002010200021200020201200000000200200001022000200010200010000000220000002000100002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000122000200100001000001020002001112002022200201001002102000000010222000011200000001200220200000010000200200000202000000020020000020021002000201001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012020200020020010010100000000000020000120002001000020001200220000200000000002022110000101010000100000220212200000100020020021000000000000100020
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000110020000000000000101002200000000020100001010000000001000000002202200120000020200000000110100002200222000000000100022001000121102100021002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020000000002001002000020020020002200001000000000000020200000021112011000000200200101002110100000000000200000110201000010220022201020200201000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010020020000000120102000000001010020000002010110000011002012200002020002002000210002220201000100000020002001220021000010200000001001000002020121
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012110020000000001010100002000000001001010000200002000000021001100022012201001100010000010020000012220020001001010000000002000020021000001010
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000100000000020000200101010100002001000000000210201000000220100100110100001002000200110000011010022022000100022201200002020001011201200002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020100000100020000000020020010011010000102002000020101000000200020111010210201120100112101010102020000000100202100100010000010000000112010100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000010010200010220200000100100110010010020021020002000200010201000000222020002000000001100110200000000001000121001020000020021002022
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100012000000100001112000010102100002000000020100120001200000002200001022012020222100001110000000102021000000002220200021000200020000001220000200
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000010122010000200001020212001101200000001100020200010200001022011010020000002000000000220100002100000000000120201000000200010102012000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011200110200000021002200000010020010020000101000200022100020200010201100000000000000202000000220200100010111210000022000000000111101000100000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001102001100111020221000012210000000000022002200021002000100202000012202020002202000002110100000110020001000002100100001020220101000000202100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101011211220020000011101000001000002000202000000001100000000200010010112002000002210100000000000000100210000201101222200000022200001001020220001
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000001100022000220100010002000000120000012000110000000000101020010002212111100010000002000112000020200202020000002002000000000201120100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021020100001001000000200002000001000000122000200120002002200020012201011200000102200200212002010000100000010000200120000100200001110200001000002
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020201100000000002202020100022010000200001001000020001000100000000220020110020101021200100100010000000020222010100012200100010001000100200002221
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011020021000200220200002000100000000001002000000000022002001000002200012120100000000000010000102101201210021101002002000000012220020000000200020
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000020010001002000020200000000000101011000000000012000020100200200020020020200020000011010100101000022000000011200200000200210001002000001100
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000111000010020010000020000000000000002000000000002000101012000000120011200200001002001101001110100011211000012110100010201110120000021000
Back to top
View user's profile Send private message Send e-mail
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Wed Jan 21, 2009 2:17 pm    Post subject: Reply with quote

here is 77 GT questions,you can read each line by such way:
Code:
   int i;
   FILE *fp;
   char str[1000];
   if((fp=fopen(fileName, "r")) == NULL)
   {
      return false;
   }
   fgets(str, 1000, fp);
   for(i=0; i<81>= '0' && str[i] <= '9')
      {
         leftBoard[i] = str[i] - '0';
      }
      else
      {
         leftBoard[i] = 0;
      }
   }
   for(i=81; i<243; i+=2)
   {
      leftSum[(i-81)/2] = (str[i]-'0')*10+(str[i+1]-'0');
   }
   for(i=243; i<405; i+=2)
   {
      leftIdx[(i-243)/2] = (str[i]-'0')*10+(str[i+1]-'0');
   }
   for(i=405; i<549; i++)
   {
      leftPare[i-405] = str[i]-'0';
   }
   fclose(fp);
   return true;
Back to top
View user's profile Send private message Send e-mail
briturner

Joined: 14 Oct 2008
Posts: 75
:

Items
PostPosted: Thu Jan 22, 2009 7:12 am    Post subject: Reply with quote

Greetings,

I think I am having some problems decoding your puzzles. Can you encode the puzzle at http://www.killersudokuonline.com/play.html?puzzle=GW471uzq1010 so I can use it as an example.

for example, my encoding can encode it like this:
Quote:


C=>>-->--->--<<-><--->>--->------>->-><->>-------<>---<-->>------>->------,-v--^-v^-^v^-v--^^---------vv^-------^-v--^v---------------v-vvvv^-^v^vv



Instead of including all possibilities, I use keys to determine how to interpret sections (C = Combinations, K = Killer, J = Jigsaw)

thanks,
brit
Back to top
View user's profile Send private message
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Thu Jan 22, 2009 2:41 pm    Post subject: Reply with quote

MessageBox("Can not create window with mode 661, 316!");
MessageBox("Failed to save file!");
MessageBox("Can not open clipboard !");
MessageBox("Can not clear clipboard !");
MessageBox("Can not copy left board to clipboard !");
MessageBox("Left board has been copied to clipboard !");
MessageBox("Data format in clipboard is not text!");
MessageBox("Can not open clipboard !");
MessageBox("Incorrect data in clipboard!");
MessageBox("Failed to open file!");
MessageBox("Not single solution!");

Here is my error messages,there are many faults in grammar.Who can help me to correct them?
Back to top
View user's profile Send private message Send e-mail
briturner

Joined: 14 Oct 2008
Posts: 75
:

Items
PostPosted: Thu Jan 22, 2009 3:21 pm    Post subject: Reply with quote

Greetings again,

I realize that there are already accepted standards for encoding puzzles, but I decided to go against the standard a bit and try my own. A couple goals were
- Postable (ascii only)
- Human readable (someone could take the string and manually draw the puzzle)
- Compact
- Extendable (able to add more puzzle types)

first, here are some examples, with explanations below:

Comparison puzzle - http://www.killersudokuonline.com/play.html?puzzle=GW471uzq1010
C=>>..>...>..<<.><...>>...>......>.>.><.>>.......<>...<..>>......>.>......,.v..^.v^.^v^.v..^^.........vv^.......^.v..^v...............v.vvvv^.^v^vv

Killer Sudoku - http://www.sudocue.net/weeklykiller.php?id=33
K=ABBCCCDDEAFGGCHHIEAFGJKLHIEMFJJKLLINMOOPPPQQNMRSSTUUVNWRXSTUYVZWRXXaYYVZWbbaaaccZ,9,13,13,11,20,17,19,16,15,10,7,16,15,13,14,17,11,15,9,13,10,17,21,12,20,12,25,5,10

Jigsaw Sudoku - http://www.sudocue.net/jigsaw.php?nr=651
.............4....9.......8..68.24.............3...2..8...3...2.9.763.1.7.......5:J=AAABBBBBCAAABBBBCCAAADDDCCCEEEEDCCCFEEEEDFFFFEGGGDFFFFGGGDDDHHHGGIIIIHHHGIIIIIHHH

Killer Jigsaw Sudoku - http://www.sudocue.net/jigsawkiller.php
J=AAABBBBBCDAABBBCBCDDAAEECCCDDAAEECCCDDDEEEEFFGGDGGEFFFGGGGHHHFFIIIGHHHFFIIIIIIHHH:K=AABBCDDDEFAABCDGGEFFHHCCGIEJFHCCKKIIJLLMMKNOIJLMMMNNOPQLLRRSSOPQQTTRRSUUVVVTTWWWU,21,20,29,13,10,19,13,14,23,20,22,19,18,18,11,14,17,20,14,21,19,12,18


so, here is what I setup for my solver:
- each section begins with a key, such as "C=" or "K="
- each section separated by a colon ':'
- Normal puzzles use the standard 81 characters. It can either be keyed with "G=" for Givens, or is the default if no key is given
- Comparison puzzles are keyed with "C=" followed by 72 characters for horizontal, a ",", then 72 characters for the vertical
- Jigsaw are keyed with "J=", and have 81 characters with cells in the same group having the same letter
- Killers are keyed with "K=", and have 81 characters with cells in the same sum block having the same letter, followed by the sums, comma delimited
- Grid size, box size, diagonals, and other variations are also planned. I would also like to include overlapping puzzles, but have not worked that one out yet.

so, it still has a few issues to work out, but it is not 500+ characters long, and does not need a calculator to decode.

brit
Back to top
View user's profile Send private message
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Thu Jan 22, 2009 4:06 pm    Post subject: Reply with quote

I will accept your format,and i will reserve my format.
Human readable take no effect.
Who will read the readable string if she or he has software?
I add one:Compressable
C=>>..>...>..<<.><...>>...>......>.>.><.>>.......<>...<..>>......>.>......,.v..^.v^.^v^.v..^^.........vv^.......^.v..^v...............v.vvvv^.^v^vv
equeal to
C=11..1...1..22.12...11...1......1.1.12.11.......21...2..11......1.1......,.1..2.12.212.1..22.........112.......2.1..21...............1.11112.21211
equal to
C=110010001002201200011000100000010101201100000002100020011000000101000000,010020120212010022000000000112000000020100210000000000000001011112021211
equal to
110010001002201200011000100000010101201100000002100020011000000101000000010020120212010022000000000112000000020100210000000000000001011112021211
this question has 13 pares are excrescent.Get rid of these 13 pares:
110010001000201200011000100000010101201100000002100020011000000101000000000020120210000020000000000012000000000000210000000000000001010012000201
has only one solution.I get this result by function "Question".
Back to top
View user's profile Send private message Send e-mail
briturner

Joined: 14 Oct 2008
Posts: 75
:

Items
PostPosted: Fri Jan 23, 2009 5:08 am    Post subject: Reply with quote

greetings zhouyundong,

can you provide the answers for the first 5 or so of the 77 puzzles you posted? then I can see if I am decoding them correctly. Either I am not decoding them correctly, or I have a bug in my code since I only solve 5 of the 77.

For timings on a 1.83ghz pc:
174.60 usec (0.0001746 seconds) for C=110010001002201200011000100000010101201100000002100020011000000101000000,010020120212010022000000000112000000020100210000000000000001011112021211
507.61 usec (0.00050761 seconds) for C=110010001000201200011000100000010101201100000002100020011000000101000000,000020120210000020000000000012000000000000210000000000000001010012000201
once I get all 77 solving, I will post timings for those.
one takes as much as 61.5 msec (0.0615 seconds), but I may be solving a different puzzle then you thought, since I have problems decoding them.

For your messages, I do not know what "mode 661, 316!" means, and the last one should be "No single solution!"

brit
Back to top
View user's profile Send private message
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Fri Jan 23, 2009 7:20 am    Post subject: Reply with quote

187492356365871294924365781632589417451637928798214635213748569846953172579126843000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010002220101020000100000002020002001001001000000020001220020000000022200001010101001010001100020000100200020200010000000200020000000120000000002
875249163361587249492316587918654732653872491724193856147935628289461375536728914000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000102020002101000000001000000000000002022020000202002110200002010000202000001001002200001101021121202022000000000110200000001000010001
729318654134256879568947123856794231971623548243581967315872496497165382682439715000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001102000200200210000000001210020021221220002000000002000000021010110020100200220000010210001200200100020000000001212202001202012100011010010
712435896564829317938617452823174569671598234459263781187346925346952178295781643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020202100000000000020000002022000002220000020000222002001112020200000100210002002100000110101020000000000010100000001202000211000000001000001
354967821962183754178425396281679543497358612635214987729846135846531279513792468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010022000000001102010100000020010012200200102000000100000200000002200222221000020020000020220000200020000201000000000002002000220000202100000011
287165394453789216169423758926834175578691432341572689794356821635218947812947563000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010002102000000110000000001002200001001220000200000000011020200000020200000000020101020000222001000000001110112000020100200100002020010001000
239856741817934562546172398723591486194368275658427913962715834475683129381249657000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220120000020202010100000000200200002000100012000000000120022010000002000000011100121000100211001000102110001012001000020211100122000010021000001
698315274374268159152497638763829415541673892829154763915742386287536941436981527000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020200002000000020100100000001002002002001201000000200000200000000000000000000110001011022000000000100000200002102210001000002000000001020110
517948623436125987892763541384297165975681234261534879753816492649352718128479356000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120021000021121010000000000011000102200012012002001001000100022100022020000002200220000000002100010010001010000000010012000110000000001222000
465832917178946235329517468953628741642751893817493526731289654596174382284365179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000020000210000022012001001000000000000212000001010000010000121000002002120000002000000020210101020000010022000100010200122000020101012110
896273451157498263324516798275834619489162537631957824768329145543681972912745386000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000002200000000000000002020002200001010010000020000021120001002002000002220122000200022122021102000001120200210001000002022010000000001210120
834962517257841693916735482391574826742386159568129734673258941489613275125497368000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120002000020000000012101000200000020000000000000001020100010010100000022000110021000000000100000000002122022120000000220221220100000000100102210
412738596873695421596214378958146237764523189321879654239467815145982763687351942000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001022000000000022020201021000000001010111221202000001020000120010022000000000001100000000100120000102010020010000000000021000001002011211
284936175716425938593187624145369287832751496679842513358294761967513842421678359000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200001001001200000101002221200010100100002000002000010100200000000020002000100012001002011000000002001010220120000200100102000021001012010202022
467285139839761425215934678592613847146897352378452916784326591621549783953178264000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010200010101000002022200000002202002000100000201101000101012011100000210200011000000200001010000000200021220000002200110001100000012000020102
198675423375248961462931578789124635531786294624593817947812356816359742253467189000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000002020000000002000222101000000002221200100020001200000121022002200000200211000020000010010110000001202000002000001000111100010020220020
485931762263478915179625438916357284358264197724189356591746823842513679637892541000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102100220200100102001200000200000000002022000020020000020200000001110000200120000000000002100100100100000020200100010000012100100110001110
827514639156839274934276581298453716413687952675192348781925463362741895549368127000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101002120200000102100100010212020222101000000200200001002020100110100002001000020201000001002210010000000001202020000000000221012000022210120100
963875241841926573572431689435198762126754938798263415387542196659317824214689357000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111001000000020010002001011000001100020000012001101000200020210200000101202220000000000100000200002000000000001101001001002200000000100000002
751462983243198756869735214614379528327581649985624371472916835536847192198253467000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100210002100100210010000020000021002000010202121000000100000010000020222002100110020000100001020020002200222000000000011010000212120020100000000
675482391948137256132956874817245963256793418394618527469821735783569142521374689000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200200000010220002200000000012202001000010002201010000002200101200000210100100000020000000010001001200000000000001200200200220000001100120000
654931278972486315183527496237645189568193742419872653725318964841269537396754821000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000112000020000110000000020001001002200100102010200001000010020000001011001221022200020202000000201002002000010100000122000000022200102000000000000
218964573765382914493175682846529137379641258521837469987216345132458796654793821000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002210102001000000020000000000000100201010000010020020102210111020201000000002120112001202002000120220000200200022000011111000202002022200000
275614398463987125918253764846731952357829641129465837792348516631572489584196273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000210001002000000200022010010200000000000210002200021000022000000000211202000000010001120010010020210000000000000000010001001220000020020000
594827631617539428832461579928354716345176892761298354286715943453982167179643285000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200001001001001000020020000010102200002000220001002100000000110200000020200122102201000202000100000020120200020000000120000001211000020022002000
542319768139678245678524913796281534485937126321456897913865472864792351257143689000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102100022002002222002002201200020000000011002220000101000002000020100000010001011000101011200000002001010100000000002000001001102000011012000200
394825716612379854758461923865142379927638541143957682536284197479513268281796435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002022000022011112000002000010000010200000002020001001002201200000001110200000001200000201200002100012200001000020202010020022100000002020200000
924856731315792468786431592879265314241379856653148279462517983598623147137984625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000020022220010000000010002000000001002000000000110010200222011000000100002002001020002002100010000022020001020021010200220021000001000011
591263487642758139738914652817395264369842715254176398175629843986437521423581976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010100000010000000000011012201000001001001010001010101010100020001010210100200210020201000002000000000110000100100000200000120000000200002
341987265785623194926451873413278956569134728872596431154762389298315647637849512000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200010002020000010020000001000020002200200000000010002020100021200002012000101001000000011010022000000100110020002120110010120200102000201020001
682574913459132786137968245841659327975283164326741598268315479713496852594827631000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212210102002122120010002100020100100100000200200000000020020000121010011110001000111020101021100202220120000100210000100110100200000010100000111
698573142724189653135624879912758436347296581856431927289315764471862395563947218000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000211000000201022010000000000122000010002000000220102010001020020000010200020000020200200000000100000121000020210002000110000010000100210010100
492761538368529471517438926976152843124893765853647192241375689789216354635984217000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000001000110112000110000012202001110010000210200000001000110210000102000120001020002000000100001000102001002000010001010220002100000000010
413965728879142536256783149621874395397256814584319267762591483935428671148637952000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102000200001222020002110100000002220201100002000202000010002020000210200000021000202020010000000000000000011212000200200000210010011002000002
461983752573216498892574316354792681718645239926831547285469173639157824147328965000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110110001000100220110010000200000010002000012010220010002200202010011022000000221001001000000200000110010020211001020000000202010000021002002
182976543654132978739548621563829417418657392297314856825793164976481235341265789000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111002100000012110000000001001200001000002022200001110000201000222002000002212020000000200010100021100101010000200000000200001012000000002
936874152841526397275931846794613285583792614612458739469387521327145968158269473000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101211001210001200000000021010000000002220112201011011202200002000120120100022000000200000000101011200001000010000100000010001001020022000121
517628349942537186863941275279864531486315927351792468728153694194286753635479812000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000200101000101010000201110010010000020000022000010010010001110000100000121100020020000020002010020002210011200100000000020000220210200010001
589247136732681594614593287341759862967128453258436971423875619175964328896312745000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000100000000000202002100010010020000000000010201102012200200201100000012120200010020001002002020020000001000100001001002000001
734985612521643789986712453278451396149376528653829147862134975315297864497568231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120102020101100210200020000202002000000011000000010200100000020000102001010011000000000010010000000012000202000000020201000020000000000000200010
493682715726531894851497326537128469682749531149365287918254673264973158375816942000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200210100010022010201010000200020100010000001000000200000100010200002201200100200000100100010002200200020210010100000211011200001001000022000000
947356812351872964826149573169783425478265139235914786793428651512697348684531297000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020022000101102000101001202122202000020000220002001100202000020011000000200200000000020100000100000000000100000000021020101001000010200100000
516978324789324651432561987341892576827653149965147832194735268258416793673289415000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100002001021100020011200202200000000000020001000001202000020020000000000000000000200000000000011000000010020010010020010000202002020001100000
257481639614935728839267541965312874742896315183574962578143296496728153321659487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020200100020000000000000011000011100110000220001220011000020200000000001010000011200020120201200000000000002002101000000001020100000101100002022
498132576375694821612875439986453217153287964724916385847369152261548793539721648000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200200200120001102001110000200100110000012002020021200010001012000000010001022010201000000000101111000020000000001102000000010100001000000010100
369541278185279634724638195472156983653987421891423756236894517947315862518762349000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220012220012200202200000001020101001000020002010220002000200201000100222021000000200000102000020000212020010200000000000000010022000220000020000
768542139315798426942361587154873962687429315239615874491287653526134798873956241000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120110001220000211000001010100100001011000000210002010100000202110010100000000210000000202120002001020102000102210001020000010200000202220020001
541739286923648175867521493394182567715396824286457931672814359159263748438975612000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000201000010000201000002200000020001022000002001000202001012210202010100111122010020100000010212200001002202221011000000000020000200020000
921673854678549231345821697412738965593264178867915342159486723786352419234197586000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200010211002102001001120102110002010212002001000002000000020000100020100000110100000000000120000202100000002002010002002000000110100001020001
491682537358147692726953814639875421185294763247361958514729386962438175873516249000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002002202010002001000000111100010000100021000000000200001000110000100000000220000020002120120021020001000002001000000000021201000110022200202
517938426369274851824165397752341689496857213138692574685713942941526738273489165000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101002000001100001000002200000100001222020200212000011100020020000021100101000000012020121210210122020000112101000000000210000022100020120021
497853216235196478618427359543961827721385694869742531954278163186539742372614985000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000002200110002010000100000000100002010010201010000010001010000010200001000200000202100101000001010102101000011100200020120020000000211200000
349782516167945328528163794931627485675894132482531967293456871756318249814279653000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200202000200000000000000000120010002012000000002000002110201000002000011121000022002020001020000110120001001000100020100100100000100000001100000
628731495473659821915824637231596748786413952549287163164372589357968214892145376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000001011102002000010002002100200110000000000000020220200000020120000020000202200002020002020200100201002002022000010020010010100020010202
327896514984517326156234879569182437432769158871453692745621983213948765698375241000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102201000000001000020000000002001101000010021001122000000020200100001121221002022002001000022100111100010100001000000010000200010000010000100000
418793256267451983953862471136589742725634198894217635382976514671345829549128367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200020200001010011200000000100020202000010002000110002002020210002102101101001010002100010000212010001002201000000011001110201011000000100000
935247861684531279712689534148753692257964318396128457561872943873496125429315786000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100002010000020202002012220010202201101000000120002110001000100002010200021200020201200000000200200001022000200010200010000000220000002000100002
437825169865319427921476583592648731683791245714532698346957812279184356158263974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000122000200100001000001020002001112002022200201001002102000000010222000011200000001200220200000010000200200000202000000020020000020021002000201001
976835124851246739432719658627384591314592876589167243195478362768923415243651987000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012020200020020010010100000000000020000120002001000020001200220000200000000002022110000101010000100000220212200000100020020021000000000000100020
593461872841275639672893514937682451218954763456317298164729385729538146385146927000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000110020000000000000101002200000000020100001010000000001000000002202200120000020200000000110100002200222000000000100022001000121102100021002
257946318419853672683712594578234169321689457964571823732168945145397286896425731000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020000000002001002000020020020002200001000000000000020200000021112011000000200200101002110100000000000200000110201000010220022201020200201000
561723489893461572247589631614275398352918764978634215426897153185346927739152846000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010020020000000120102000000001010020000002010110000011002012200002020002002000210002220201000100000020002001220021000010200000001001000002020121
241397865735864192689521437874135629316279548952648713568912374423756981197483256000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012110020000000001010100002000000001001010000200002000000021001100022012201001100010000010020000012220020001001010000000002000020021000001010
856943127142867395397251864289736451431589672765412983913675248528194736674328519000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000100000000020000200101010100002001000000000210201000000220100100110100001002000200110000011010022022000100022201200002020001011201200002
246378519913654872587192463135946287874215396629837145491723658762581934358469721000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020100000100020000000020020010011010000102002000020101000000200020111010210201120100112101010102020000000100202100100010000010000000112010100
298415376415736982637982514843679251576321498129548637954167823762893145381254769000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000010010200010220200000100100110010010020021020002000200010201000000222020002000000001100110200000000001000121001020000020021002022
762954831345187962198623754954832617683471295217596483426319578539748126871265349000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100012000000100001112000010102100002000000020100120001200000002200001022012020222100001110000000102021000000002220200021000200020000001220000200
584137962961425387237986415693518724418279653752364891379651248845792136126843579000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000010122010000200001020212001101200000001100020200010200001022011010020000002000000000220100002100000000000120201000000200010102012000
376489521945271368182536794814652937269347815537198246793814652651723489428965173000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011200110200000021002200000010020010020000101000200022100020200010201100000000000000202000000220200100010111210000022000000000111101000100000000
351749862792865143864231795539182674427693581618457239173926458285374916946518327000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001102001100111020221000012210000000000022002200021002000100202000012202020002202000002110100000110020001000002100100001020220101000000202100
853296471427831695619754382275489136198563724346172958584317269931625847762948513000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101011211220020000011101000001000002000202000000001100000000200010010112002000002210100000000000000100210000201101222200000022200001001020220001
486293751952716843731458629368549172249371586517682394173824965625937418894165237000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000001100022000220100010002000000120000012000110000000000101020010002212111100010000002000112000020200202020000002002000000000201120100
138257946594816327672943518985624173721389465346571289859462731467135892213798654000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021020100001001000000200002000001000000122000200120002002200020012201011200000102200200212002010000100000010000200120000100200001110200001000002
926147538517283496834956271769412853182735964453698127648329715275861349391574682000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020201100000000002202020100022010000200001001000020001000100000000220020110020101021200100100010000000020222010100012200100010001000100200002221
954367128861245379273891456198756243547923861326184795439612587785439612612578934000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011020021000200220200002000100000000001002000000000022002001000002200012120100000000000010000102101201210021101002002000000012220020000000200020
254639178173248956689517342568374291792186435431952687826495713915763824347821569000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000020010001002000020200000000000101011000000000012000020100200200020020020200020000011010100101000022000000011200200000200210001002000001100
765249318284317596319685427971524683458136972632978154126793845893452761547861239000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000111000010020010000020000000000000002000000000002000101012000000120011200200001002001101001110100011211000012110100010201110120000021000
Back to top
View user's profile Send private message Send e-mail
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Fri Jan 23, 2009 8:13 am    Post subject: Reply with quote

http://www.sudocue.net/weeklykiller.php?id=33
my format is:
000000000000000000000000000000000000000000000000000000000000000000000000000000000091300130000110020001719000016001500000000100716000000150000000000000013001400170000112500001509001310001700210012000000200012000000002500250000000500000000100000010202030303040405010607070308080905010607101112080905130610101112120914131515161616171714131819192021212214231824192021252226231824242725252226232828272727292926000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Back to top
View user's profile Send private message Send e-mail
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Sat Jan 24, 2009 6:06 am    Post subject: Reply with quote

At last,I get a wetsite
www.eightclock.com/bbs
I provide my software,but to not lowed to solute
Back to top
View user's profile Send private message Send e-mail
briturner

Joined: 14 Oct 2008
Posts: 75
:

Items
PostPosted: Sat Jan 24, 2009 6:23 pm    Post subject: Reply with quote

Greetings zhouyundong,

ok, fixed my decoder (turned out I did not clear out the comparison when I loaded the next puzzle). My decoder handles numbers as well as symbols now, so I just need to add the "C=" to yours to import them into my solver.

Here is the timings summary for 76 of the 77 puzzles you posted (#26 had 3 solutions, so not included) on my 1.83 ghz processor
min = 0.780 msec
average = 40.761 msec
max = 447.026 msec
total for all 76 = 3.097 seconds

These times are huge compared to normal sudoku puzzles (for example, the Top50000 average only 29 to 30 usec, so more than 1000 times faster)

2 oddities:
- puzzle 26 had 3 solutions:
542319867139678245678524913796281534485937126321456789913865472864792351257143698
542319867139678245678524913796281534485937126321456798913865472864792351257143689
542319768139678245678524913796281534485937126321456897913865472864792351257143689

- one puzzle took almost 1/2 second, next hardest took only took 184 milliseconds. I am going to look at that one a bit closer, see if I can improve my solver.

Also, I could not load your web page, but it may be on my side, and you asked who hand decodes puzzles. Well I do. That is how i verify my methods and come up with ideas. I have pads of papers filled with hand written sudoku. I have also been solving slitherlinks by hand in my spare time in preparation to writing a solver for that.

brit
Back to top
View user's profile Send private message
zhouyundong

Joined: 22 Nov 2008
Posts: 43
:

Items
PostPosted: Sun Jan 25, 2009 2:08 am    Post subject: Reply with quote

yes, I have fixed my solver.26 has 3answers.
Back to top
View user's profile Send private message Send e-mail
Adak

Joined: 27 Feb 2008
Posts: 87
:

Items
PostPosted: Tue Jan 27, 2009 1:07 am    Post subject: Reply with quote

I have some grids (pseudo valid), that need to be tested, in batch mode. When I pipe them to BB_solver_v05, it exits prematurely, with the message that the program needs to be re-compiled with a greater max depth value.

The current Max depth is 19, and the G[] array has a size of 32 for Pidx (the position index), to work within.

I'm re-installing Visual C 6.0 in order to re-compile the program, but what is a very "unbreakable" number to set for Max depth? Speed is great, and this program is a real barn burner, but the need for absolute reliability for this job, is even greater.

Thanks.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Sudoku Programmers Forum Index -> Programming sudoku All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 6 of 9

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Sudoku Programmers topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group

Igloo Theme Version 1.0 :: Created By: Andrew Charron