• 【蓝桥杯训练】第三天1264


    1264

    在2行5列的格子中填入1到10的数字。
    要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的。
    如下图所示的2种,就是合格的填法。
    请你计算一共有多少种可能的方案。

    输出
    请输出该整数,不要输出任何多余的内容

    注意

    右下大

    算法

    1. 为方便算法,将数字都-1,那么首先0,9确定在左上角和右下角。
    2. 把其看成一排,i与i+5比较即可
    3. array[4]可以不用处理
    4. 0-3,比较位置i,i+1,以及i,i+5大小
    5. 5-8,比较位置i,i+1大小

    题解

    答案:42

    from itertools import permutations
    def f(data):
        for i in range(9):
            if i == 4:
                continue
            if not i//5:
                if data[i] < data[i+5] and data[i] < data[i+1]:
                    continue
                else:
                    break
            else:
                if data[i] < data[i+1]:
                    continue
                else:
                    break
        if i == 8:
            return True
    
    array = [i for i in range(10)]
    res = 0
    for i in permutations(array[1:-1]):
        array[1:-1] = i
        if f(array):
            res += 1
    print(res)
    

    1276

    [蓝桥杯2015决赛]机器人繁殖

    X星系的机器人可以自动复制自己。它们用1年的时间可以复制出2个自己,然后就失去复制能力。
    每年X星系都会选出1个新出生的机器人发往太空。也就是说,如果X星系原有机器人5个,
    1年后总数是:5 + 9 = 14
    2年后总数是:5 + 9 + 17 = 31
    如果已经探测经过n年后的机器人总数s,你能算出最初有多少机器人吗?
    输入
    输入存在多组测试数据
    对于每组测试数据,输入一行两个数字n和s,用空格分开,含义如上。n不大于100,s位数不超过50位。
    输出
    对于每组测试数据,要求输出一行,一个整数,表示最初有机器人多少个。
    样例输入 Copy
    2 31
    97 2218388550399401452619230609499
    样例输出 Copy
    5
    8

    注意

    s的值最大有50位,map()中不能使用long,然而python2.2以后,当int存储溢出,会将其自动转换成long类型数值

    算法

    第n年忘记+x了,记得补上

    扩展:假如已知n,s(n为年份,x为初始数),求经过n年后的机器人总数s

    1. 利用递归可以很好的计算出来s

    题解

    def f(n,s):
        up = s + 2**(n+1)-2-n
        return up//(2**(n+1)-1)
    while True:  
        n, s = map(int,input().split())
        print(f(n,s))
    

    扩展题解:

    def f(n,x):
        if n == 0:
            return x
        return f(n-1,2*x-1)+x
    while True:  
        n, s = map(int,input().split())
        print(f(n,x))
    
  • 相关阅读:
    ES6之模块化
    ES6之展开运算符
    ES6之解构赋值
    ES6之对象的语法糖
    ES6之函数的语法糖
    ES6之模板字符串
    Exchanger详解
    DNS解析过程
    CyclicBarrier详解
    ConuntDownLatch详解
  • 原文地址:https://www.cnblogs.com/yanshanbei/p/12216056.html
Copyright © 2020-2023  润新知