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
A seriedade dos acontecimentos da minha época.
Me enche de esperança.
Karl Marx

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.