当前位置: 首页 > news >正文

蓝桥杯刷题--python-24

0地图 - 蓝桥云课 (lanqiao.cn)

from math import *

import sys

from functools import lru_cache

# sys.setrecursionlimit(100000)

n, m, k = map(int, input().split())

a = [input() for i in range(n)]

dr = [(0, 1), (1, 0)] 

cnt = 0

@lru_cache(maxsize=None)

def dfs(x, y, v, depth):

    """

    v: 方向

    depth: 改变多少次

    """

    cnt = 0

    

    if depth > k:

        return 0

    if x >= n or y >= m:

        return 0

    if a[x][y] == '#':

        return 0

    if x == n - 1 and y == m - 1:

        # cnt += 1

        return 1

    

    for i in range(2):

        xx, yy = x + dr[i][0], y + dr[i][1]

        cnt += dfs(xx, yy, i, depth + (i != v))

    return cnt

if a[0][1] == '.':

    cnt += dfs(0, 1, 0, 0)

if a[1][0] == '.':

    cnt += dfs(1, 0, 1, 0)

print(cnt)

 1355. 母亲的牛奶 - AcWing题库

from collections import deque
A,B,C=map(int,input().split())
st=[[[False for _ in range(21)] for _ in range(21)] for _ in range(21)]

class Node:
    def __init__(self,a,b,c):
        self.a=a
        self.b=b
        self.c=c
def bfs():
    q=deque()
    q.append(Node(0,0,C))
    st[0][0][C]=True
    W=[A,B,C]


    while q:
        t=q.popleft()
        for i in range(3):
            for j in range(3):
                if i!=j:
                    w=[t.a,t.b,t.c]
                    r=min(w[i],W[j]-w[j])
                    w[i]-=r
                    w[j]+=r
                    if not st[w[0]][w[1]][w[2]]:
                        st[w[0]][w[1]][w[2]]=True
                        q.append(Node(w[0],w[1],w[2]))
                    
bfs()
for c in range(C+1):
    for b in range(B+1):
        if st[0][b][c]:
            print(c,end=" ")
            break
            
            
    
    

4957. 飞机降落 - AcWing题库

 


class Node:
    def __init__(self,t,d,l):
        self.t=t
        self.d=d
        self.l=l
t=int(input())
for _ in range(t):
    n=int(input())
    ans=[]
    for _ in range(n):
        t,d,l=map(int,input().split())
        ans.append(Node(t,d,l))
    used=[0 for _ in range(n)]
    def dfs(index,last):
        if index==n:
            return True
        for i in range(n):

                t,d,l=ans[i].t,ans[i].d,ans[i].l
                if  not  used[i] and t+d>=last:
                    used[i]=1
                    if (dfs(index+1,max(last,t)+l)):
                        return True

                    used [i]=0
        return False
    if dfs(0,0):print("YES")
    else:print("NO")

http://www.lryc.cn/news/322385.html

相关文章:

  • 面向对象(C# )
  • Lombok:@Cleanup资源释放利器
  • IoT 物联网场景中 LoRa + 蓝牙Bluetooth 室内场馆高精定位技术全面解析
  • SpringCloudAlibaba系列之Seata实战
  • 蓝桥杯day5刷题日记-分巧克力-天干地支-求和
  • C++ ostringstream用法详解
  • 并发编程所需的底层基础
  • 各种小功能
  • vue前端解析jwt
  • 【Flutter 面试题】Flutter如何进行本地存储和缓存数据?
  • Docker 笔记(八)--Dockerfile
  • C语言每日一题06
  • spring redis 工具类
  • SpringBoot3整合Elasticsearch8.x之全面保姆级教程
  • 微信小程序云开发教程——墨刀原型工具入门(表单组件)
  • JMeter 批量接口测试
  • 软件游戏缺失unityplayer.dll怎么办,教程5种解决方法
  • Redis相关操作大全一篇全搞定
  • 排序算法:归并排序(递归)
  • 武汉星起航领航中国跨境电商,助推全球贸易新篇章
  • 七、Java中SpringBoot组件集成接入【Minio文件服务器】
  • 使用Pygame做一个乒乓球游戏
  • 力扣---完全平方数
  • 接口测试、postman、测试点提取【主】
  • C++ list详解及模拟实现
  • 【tls招新web部分题解】
  • 力扣热门算法题 52. N 皇后 II,53. 最大子数组和,54. 螺旋矩阵
  • 【OpenVINO】解决OpenVINO在GPU推理中报错的方法
  • AES加密的中文乱码与Java默认编码
  • Node.js笔记 (二)浏览器和服务器