CSDN周赛25题解-分层遍历二叉树、查找整数、小Q整数分割


文章目录
CSDN周赛25题解
1、分层遍历二叉树
2、查找整数
3、小Q整数分割
4、水池注水
1、题目名称:分层遍历二叉树
给定一棵二叉树,节点定义如下: structNode { Node *pLeft; Node *pRight; int data; }; 要求按分层遍历该二叉树,
即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。

s = input()
nums = []
lin = 0
a = ''
for i in s:
    if '0' <= i <= '9':
        a += i
    else:
        if a:
            if len(nums) <= lin:nums.append([])
            nums[lin].append(int(a))
            a = ''
        if i == '(':lin += 1
        elif i == ')':lin -= 1
for i in nums:
    print(*i)

2、题目名称:查找整数
给定一个非降序的整数数组,数组中包含重复数字(重复数字很多) ,给定任意整数,对数组进行二分查找,返回数组正确的位置,给出函数实现。 a. 连续相同的数字,返回最后一个匹配的位置 b. 如果数字不存在返回 -1。

n,t = map(int,input().split())
a = list(map(int,input().split()))
import bisect
if t not in a:print('-1')
else:print(bisect.bisect_right(a,t)-1)

3、题目名称:小Q整数分割
小Q决定把一个整数n,分割为k个整数。 每个整数必须大于等于1。 小Q有多少方案。

n,k = map(int,input().split())
from math import factorial
if n < k:print(0)
elif n == k:print(1)
else:print((factorial(n)%(10**9+7))//(factorial(k)%(10**9+7))*(factorial(n-k)%(10**9+7))%(10**9+7))

4、题目名称:水池注水
给定nn水池。 向nn水池中注水。 每行每列只能注水一个方格。 如果一个方格的四周有两个方格已经被水覆盖,则该方
格也会被水覆盖。 小Q想知道自己有多少种方案可以使得自己的水池被完全覆盖。

是一个偏数学的题目,赛场上未做出
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值