SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br

Generation
Quando Pedro me fala sobre Paulo
Sei mais do Pedro do que do Paulo
Sigmund Freud

Eliminate elements by Unicity

  1. Zero each element and recalculate Topology.
  2. Topology Length one in Element? Remove.
Python Listing: Unique.py.
from random import *


class Sudoku_Topology_Unique_Remove(
    ):
    
    ##!
    ##! Remove (zero) randomly selected cell.
    ##! For puzzle generation.
    ##!
    
    def Topology_Unique_Remove_One(self,topology):
        removes=self.Topology_Unique_Removes(topology)

        removed=False
        if (len(removes)>0):
            n=randrange(0,len(removes))
            remove=removes[n]
            r=remove[0]
            s=remove[1]
            
            removed=True
            self.S[r][s]=0
        

        return removed
    
    def Topology_Unique_Removes(self,topology):
        removes=[]
        for r in range(self.M):
            for s in range(self.M):
                if (self.S[r][s]>0):
                    old=self.S[r][s]
                    
                    self.S[r][s]=0
                    rtopology=self.Topology_Initial()
                    self.S[r][s]=old
                    
                    if (len(rtopology[r][s])==1):
                        #print (r,s,self.S[r][s],rtopology[r][s])
                        removes.append([r,s,self.S[r][s]])
        return removes
Messages:
0 secs.