免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2831 | 回复: 0
打印 上一主题 下一主题

填数字游戏 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP