c++实例研究

从0开始

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  104 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks
neighbor = [ [], # 0 for null 
             [2,4,5,6,8], # node1
             [1,3,4,5,6,7,9],
             [
2,4,5,6,8],
             [
1,2,3,4,7,8,9],
             [
1,2,3,4,6,7,8,9], # node 5
             [1,2,3,5,7,8,9],
             [
2,4,5,6,7],
             [
1,3,4,5,6,7,9],
             [
2,4,5,6,8] ] # node 9

def step(trace, current):
    nblist 
= neighbor[current]
    avail 
= list(set(nblist) - set(trace))
    c 
= 0
    
for i in avail:
        newtrace 
= trace + [i]
        c 
= c + 1 + step(newtrace, i)
    
return c
    
def main():
    
return step([1], 1* 4 + step([2], 2* 4 + step([5], 5)
    
if __name__ == '__main__':
    
print main()
posted on 2011-06-26 23:25 elprup 阅读(1403) 评论(2)  编辑 收藏 引用

评论

# re: 手机九点密码锁的可能性有多少种? 2013-10-20 13:34 烦恼的鸭子
我的手机密码忘记了,各位帮帮忙  回复  更多评论
  

# re: 手机九点密码锁的可能性有多少种? 2013-10-20 13:37 烦恼的鸭子
请说出你所想到的几种可能  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理