Chinaunix

标题: 填数字游戏 [打印本页]

作者: bleem1998    时间: 2005-10-05 10:22
标题: 填数字游戏
确保行和列都没有重复的数字,算法超简单,穷举所有的可能,速度比较慢
#!/usr/bin/env python
import copy,sys,pdb
ALLDATA=range(1,10)
def printall(val):
   for i in val:
       for j in i:
           print j,'        ',
       print ''
def getexist(val):
   zz = []
   for i in val:
      if len(i) == 1:
         zz.append(i[0])
   return zz
def getvnexist(val, n):
   zz = []
   for i in val:
       if len(i[n]) == 1:
           zz.append(i[n][0])
   return zz
def get_union(v1,v2):
   zz=[]
   for i in ALLDATA:
       if i not in v1 and i not in v2:
           zz.append(i)
   return zz
def oplist(val):
   for i in val:
       n = 0
       ln_exist = getexist(i)
       while n  1:
            get_copy = copy.deepcopy(val)
            bakj = copy.copy(j)
            nn = 0
            while nn < lenj:
               get_copy[indexi][indexj] = [bakj[nn]]
               getit = guess_it(get_copy)
               if getit:
                  return getit
               nn += 1
   return []
'''
final resault shuld be this:
L1=[[9],[6],[3],[1],[7],[4],[2],[5],[8]]
L2=[[1],[7],[8],[3],[2],[5],[6],[4],[9]]
L3=[[2],[5],[4],[6],[8],[9],[7],[3],[1]]
L4=[[8],[2],[1],[4],[3],[7],[5],[9],[6]]
L5=[[4],[9],[6],[8],[5],[2],[3],[1],[7]]
L6=[[7],[3],[5],[9],[6],[1],[8],[2],[4]]
L7=[[5],[8],[9],[7],[1],[3],[4],[6],[2]]
L8=[[3],[1],[7],[2],[4],[6],[9],[8],[5]]
L9=[[6],[4],[2],[5],[9],[8],[1],[7],[3]]
'''
L1=[[],[],[3],[1],[7],[4],[2],[5],[]]
L2=[[],[],[],[3],[2],[5],[6],[4],[9]]
L3=[[],[5],[4],[6],[],[],[7],[3],[]]
L4=[[],[2],[],[4],[],[7],[5],[9],[6]]
L5=[[],[9],[6],[8],[5],[],[3],[1],[]]
L6=[[],[3],[],[9],[6],[],[8],[2],[4]]
L7=[[],[8],[9],[7],[1],[],[4],[6],[2]]
L8=[[],[1],[7],[2],[],[],[],[8],[]]
L9=[[],[4],[2],[],[9],[8],[1],[7],[]]
Lall = [L1,L2,L3,L4,L5,L6,L7,L8,L9]
#pdb.set_trace()
print 'Before game:'
printall(Lall)
oplist(Lall)
print 'guess...'
Lall = guess_it(Lall)
if Lall:
    print 'Success'
    printall(Lall)
else:
    print 'Failure'


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4565/showart_50420.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2