본문 바로가기

컴터 때찌/Programming

Sudoku 알고리즘

Times to solve top_1465 (in millisec) using different techniques: 
(note: each technique also includes the ones above) 

Naked / Hidden Singles             :   94.630 

Locked Candidates                  :   59.317 
  
Disjoint Subsets                   :  204.561 
  Hidden/Naked Pairs/Triples/Quads 
  
Fishies                            :  296.719 
  X-Wing/Swordfish/Jellyfish 
  
1 Step Commonality                 : 1237.000 
  XY-Wing/many others 


http://www.setbb.com/sudoku/viewtopic.php?p=11671&sid=1dada80ad6cde49de9862de88598a5dc&mforum=sudoku


http://sudopedia.org/wiki/Solving_Technique


http://ajwelch.blogspot.com/2007/08/worlds-fastest-sudoku-solution-in-xslt.html

http://www.codeproject.com/KB/cs/SudokuPuzzle.aspx

http://www.codeproject.com/KB/game/SudokuPuzzle.aspx

http://www.sudokuwiki.org/X_Wing_Strategy


http://sudopedia.org/wiki/Locked_Candidates


//Locked Candidates



#!/usr/sbin/python
# By Leopardan / earth1989 at naver
# 2011-07-12  // got html from http://show.websudoku.com and AS split tag i can get a real value
# 2011-07-13 // when i request from web site, i made a lot of packet, cause i was blocked my id
#               so, i used static value(parm box) from now on, and i modify source code a lot

import urllib, urllib2, time, sys, re,os,time
#url = 'http://show.websudoku.com'# write ur URL here
#box = [0]*10
def SdokuStart():
        box = "003060408000405793405800002062000089000090000570000240200008906956104000307020500"
        box2 = [123456789]*81

#       print box2
        for count in range(0,81):
            print "box[%s]" % box[count]
            if int(box[count]) != 0:

                print "count",count
                print "box2[count]",box2[count]
                box2[count] = box[count]
#               print box2[count]
            else :
                print "a"

 

        print box2
        os.system("echo '"+box+"' > b")
        os.system("perl sdoku4.pl < b")
SdokuStart()





function j12()

{


    //  var prefix="aq6nn";

        var sdk="";

        var sprefix="s".concat(prefix);

        var sp="";

        for(var i=1;i<10;i++){

                for(var j=1;j<10;j++){

                        sprefix = prefix.concat(j);

                        sprefix = sprefix.concat(i);

                        sp=sprefix;

//                      alert(board[sp].value);

                        if(board[sp].value==""){

                                alert("t");

//                              alert(board[sp].value);

                        }

                        else{

                                alert(board[sp].value);

                                alert("yes");

                        }/*                                 sdk=sdk.concat(board[sp].value);}

//                                  else{

                                    sdk=sdk.concat("0");

//                                  }*/

                }

                sp="";

        }

        alert(sdk);


/*  o_s_c=s_c;

    s_c=false;

    return true;*/

}




                       try{
                                var a=board[sp].value;
                                alert("no");
                        }
                        catch(exception){
    //                          alert("no");
                                alert(board[sp].value);
                        }



'컴터 때찌 > Programming' 카테고리의 다른 글

[python] urlopen proxy  (0) 2012.11.15
python에서 qrcode 다루기  (0) 2012.11.02
Section을 이용한 정적 메모리 공유  (0) 2011.04.27
[NativeAPI.h] ZwQuerySystemInformation()  (0) 2011.02.28
NativeAPI.h  (0) 2011.02.26