`
beyondmind
  • 浏览: 4190 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

也当学过了python先

阅读更多
用python解了个题【火柴游戏(250分)】,题目在这http://www.bianchengla.com/team/81/contest/97/problem/A ,当作入门了,呵呵。
# -*- coding: GBK -*-
exchange_data = [
#索引位的数可移动1根而变为其他数,2代表不能做到,0,1,-1代表添加1根或者减少1根或者自身移动
#0==>
#0,9,6,8
[2,2,2,2,2,2,0,2,1,0],
#1==>
#1,7
[2,2,2,2,2,2,2,1,2,2],
#2==>
#2,3
[2,2,2,0,2,2,2,2,2,2],
#3==>
#2,3,9,5
[2,2,0,2,2,0,2,2,2,1],
#4==>
#4
[2,2,2,2,2,2,2,2,2,2],
#5==>
#3,5,6,9
[2,2,2,0,2,2,1,2,2,1],
#6==>
#0,5,6,8,9
[2,2,2,2,2,-1,2,2,1,0],
#7==>
#1,7
[2,-1,2,2,2,2,2,0,2,2],
#8==>
#0,6,8,9
[-1,2,2,2,2,2,-1,2,2,-1],
#9==>
#0,3,5,6,8,9
[0,2,2,-1,2,-1,0,2,1,2]
]
has_result = False
def func(num1, op, num2, num3):
    tmp1 = exchange_data[num1]
    tmp2 = exchange_data[num2]
    tmp3 = exchange_data[num3]
    for i in range(0, 10):
        if(tmp1[i]>=2 and i!=num1):continue;
        for j in range(0, 10):
            if(tmp2[j]>=2 and j!=num2):continue;
            for k in range(0, 10):
                if(tmp3[k]>=2 and k!=num3):continue;
                if(op=='+' and i+j==k and is_result(tmp1[i], tmp2[j], tmp3[k])):
                   print i, op, j, '=', k
                if(op=='+' and i-j==k and is_result(tmp1[i], tmp2[j], tmp3[k], -1)):
                   print i, '-', j, '=', k
                if(op=='-' and i-j==k and is_result(tmp1[i], tmp2[j], tmp3[k])):
                   print i, op, j, '=', k
                if(op=='-' and i+j==k and is_result(tmp1[i], tmp2[j], tmp3[k], 1)):
                   print i, '+', j, '=', k
def is_result(*result):
    global has_result
    moveNum = 0
    total = 0
    for i in result:
        if(i<2):
            moveNum+=1
            total+=i
        if(i==0):
            moveNum+=1
    if(total!=0 or moveNum!=2):
        return False
    has_result = True
    return True

def parse0(arg):
    #print arg[0], arg[1], arg[2], arg[4]
    global has_result
    has_result = False
    func(int(arg[0]), arg[1],int(arg[2]),int(arg[4]))
    if has_result==False:
      print -1;
if(__name__=="__main__"):
    import sys
    parse0(sys.argv[1])


D:\Runtime\python27>python problem1.py 9+5=9
3 + 5 = 8
3 + 6 = 9

D:\Runtime\python27>python problem1.py 9+4=9
-1

D:\Runtime\python27>python problem1.py 9+0=9
-1

D:\Runtime\python27>python problem1.py 9+1=9
9 - 1 = 8
分享到:
评论

相关推荐

    2023最新教程【樵夫教你学Python】Python全套教程 Python基础

    python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你...

    笨办法学Python

    《笨办法学Python》是一本非常适合初学者入门的Python编程教程。书名中的“笨办法”其实蕴含着一种教学理念,即通过大量的练习和实践,让学习者逐步掌握编程的基本概念和技能。这本书以简洁明了的方式介绍了Python...

    笨办法学python的进阶篇,学习更多python

    《笨办法学Python》是许多初学者入门Python编程的首选教材,因其简洁明了的教程风格深受喜爱。而“进阶篇”则是针对已经掌握了Python基础的读者,旨在帮助他们进一步提升技能,深入理解Python的高级特性以及在实际...

    零基础入门学习Python_零基础入门学习Python_小甲鱼_

    此外,文件操作也是Python编程中的重要环节,本书会介绍如何读写文件,处理异常,以及使用正则表达式进行文本处理。 面向对象编程是Python的核心特性之一,书中会讲解类与对象的概念,如何定义类,以及继承、封装和...

    教孩子学编程 PYTHON语言版

    教孩子学编程 PYTHON语言版 教孩子学编程 PYTHON语言版

    21天学通python光盘代码

    《21天学通Python》是一本旨在帮助初学者快速掌握Python编程语言的教程,其光盘代码包含了大量的实例和练习,旨在通过实践加深对Python语法和应用的理解。在这个压缩包中,"源代码"这一目录很可能是包含了书中各个...

    信息学奥赛python试卷.docx

    【信息学奥赛Python试卷解析】 1. Python语句合法性: 选项B中的`x = (y = z + 1)`是非法的,因为Python不允许这种赋值语句作为表达式的一部分。正确的赋值顺序应该是`y = z + 1`,然后`x = y`。 2. Python内存...

    Python学习资源

    "零基础学python"这个压缩包很可能是针对初学者设计的一系列学习资料,旨在帮助没有编程背景的人逐步掌握Python编程。 在学习Python的过程中,以下几个关键知识点是必不可少的: 1. **基础语法**:Python的基础...

    教孩子学编程 PYTHON语言版.zip

    《教孩子学编程 PYTHON语言版》是一套专为青少年设计的Python编程入门教程。Python语言因其语法简洁、易读性强,成为了许多初学者,特别是孩子们学习编程的首选语言。本教程旨在通过生动有趣的实例和逐步指导,激发...

    真正Python系统详细的学习PPT

    Python在网络编程方面也十分强大,可能会介绍socket编程,包括如何创建服务器和客户端,进行数据的收发。对于Web开发,可能会讲解Flask或Django等框架的基础知识,帮助你快速构建web应用。 数据分析和科学计算是...

    学习Python 第5版(影印版) PDF

    你也将学到一些最近在Python代码中越来越常见的高级语言特性。 作者:(美国)鲁特兹(Mark Lutz) 鲁特兹(Mark Lutz)是世界级的Python培训讲师。他是最早和最畅销Python书籍的作者。从1992年起,他就是Python...

    零基础学Python全彩版课后习题答案

    "零基础学Python全彩版"是一本面向初学者的教材,旨在帮助读者从零开始掌握Python编程的基本概念和技巧。课后习题和课堂练习是学习过程中不可或缺的部分,它们能够检验和巩固所学知识,促进理论与实践的结合。 课后...

    21天学通PYTHON-高清完整带目录

    21天学通PYTHON-高清完整带目录,很适合新手入门,知识体系完整。

    笨办法学python

    《笨办法学 Python》(Learn Python The Hard Way,简称 LPTHW)是 Zed Shaw 编写的一本Python 入门书籍。适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这本书以习题的方式引导读者一步一步...

    Python物理学高效计算

    在现代科学计算领域,Python语言以其易读性强、丰富的库支持和高效的计算能力脱颖而出,尤其在物理学领域,Python已经成为进行数据分析、数值模拟和理论建模的重要工具。本知识点将深入探讨如何利用Python进行物理学...

    笨方法学Python

    适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这本书以 习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。也许读完这本书并不 意味着你已经学会了编程,但至少你会...

Global site tag (gtag.js) - Google Analytics