蓝桥杯刷题--python-22-dfs-bfs

2060. 奶牛选美 - AcWing题库

n,m=map(int,input().split())
map_=[]
for _ in range(n):
    tmp=list(input())
    map_.append(tmp)

mm=[(1,0),(-1,0),(0,1),(0,-1)]

def dfs(a,b,q):
    q.append((a,b))
    map_[a][b]='.'
    for i,j in mm:
        x=a+i
        y=b+j
        if (x>=0 and x<n and y>=0 and y<m and map_[x][y]=='X'):
            dfs(x,y,q)

p=[[],[]]
k=0
for i in range (n):
    for j in range(m):
        if map_[i][j]=='X':
            dfs(i,j,p[k])
            k+=1
res=float('inf')
for i in p[0]:
    for j in p[1]:
        res=min(res,abs(i[0]-j[0])+abs(i[1]-j[1]))
print(res-1) 

 167. 木棒 - AcWing题库

 

def dfs(u, cur, start):
    if u * len_ == sum_ : return True
    if (cur ==len_): return dfs(u+1,0,0)
    for i in range (start,n):
        if st[i]:continue
        if (cur+w[i]<=len_):
            st[i]=1
            if (dfs(u,cur+w[i],i+1)):return True
            st[i]=0
        if (not cur or cur+w[i]==len_):return False
        j=i=1
        while(j<n and w[i]==w[j]):j+=1
        i=j-1

n = int(input())
while (n):
    sum_ = len_ = 0
    w = list(map(int, input().split()))
    sum_ = sum(w)
    len_ = max(w)
    # print(sum_,len_)
    w.sort()
    st = [0 for _ in range(n)]
    while (True):
        if (sum_ % len_ == 0 and dfs(0, 0, 0)):
            print(len_)
            break
        len_ += 1

    n = int(input())
 

 6.最大连通 - 蓝桥云课 (lanqiao.cn)

 

import os

import sys

# 请在此输入您的代码

data='''

110010000011111110101001001001101010111011011011101001111110

010000000001010001101100000010010110001111100010101100011110 

001011101000100011111111111010000010010101010111001000010100 

101100001101011101101011011001000110111111010000000110110000 

010101100100010000111000100111100110001110111101010011001011 

010011011010011110111101111001001001010111110001101000100011 

101001011000110100001101011000000110110110100100110111101011 

101111000000101000111001100010110000100110001001000101011001 

001110111010001011110000001111100001010101001110011010101110 

001010101000110001011111001010111111100110000011011111101010 

011111100011001110100101001011110011000101011000100111001011 

011010001101011110011011111010111110010100101000110111010110 

001110000111100100101110001011101010001100010111110111011011 

111100001000001100010110101100111001001111100100110000001101 

001110010000000111011110000011000010101000111000000110101101 

100100011101011111001101001010011111110010111101000010000111 

110010100110101100001101111101010011000110101100000110001010 

110101101100001110000100010001001010100010110100100001000011 

100100000100001101010101001101000101101000000101111110001010 

101101011010101000111110110000110100000010011111111100110010 

101111000100000100011000010001011111001010010001010110001010 

001010001110101010000100010011101001010101101101010111100101 

001111110000101100010111111100000100101010000001011101100001 

101011110010000010010110000100001010011111100011011000110010 

011110010100011101100101111101000001011100001011010001110011 

000101000101000010010010110111000010101111001101100110011100 

100011100110011111000110011001111100001110110111001001000111 

111011000110001000110111011001011110010010010110101000011111 

011110011110110110011011001011010000100100101010110000010011 

010011110011100101010101111010001001001111101111101110011101

'''

def dfs(x,y):

    global res

    if (x<0 or x>29 or y<0 or y>59 or data[x][y]=='0' or check[x][y]==1):

        return

    res+=1

    check[x][y]=1

    for i in map:

        xt=i[0]+x

        yt=i[1]+y

        dfs(xt,yt)




 

map=[(-1,0),(0,-1),(1,0),(0,1)]

data=data.split()

# 检查点

check=[[0 for _ in range (60)] for _ in range (30)]

max_=0

for i in range (30):

    for j in range (60):

        if data[i][j]=='1' and check[i][j]==0:

            res=0

            dfs(i,j)

            max_=max(max_,res)

print(max_)

 5.清理水域 - 蓝桥云课 (lanqiao.cn)

 

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

# 构建前戳和二维数组

dp=list([0 for _ in range (m+2)] for _ in range(n+2) )

t=int(input())

for _ in range(t):

    x1,y1,x2,y2=map(int,input().split())

    dp[x1][y1]+=1

    dp[x1][y2+1]-=1

    dp[x2+1][y1]-=1

    dp[x2+1][y2+1]+=1

res=0

for i in range (1,n+1):

    for j in range (1,m+1):

        dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+dp[i][j]

        if dp[i][j]==0:

            res+=1

print(res)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成式人工智能在金融领域:FinGPT、BloombergGPT及其未来

生成式人工智能在金融领域的应用&#xff1a;FinGPT、BloombergGPT 及其他 引言 生成式人工智能&#xff08;Generative AI&#xff09;是指能够生成与输入数据相似的新数据样本的模型。ChatGPT 的成功为各行各业带来了许多机会&#xff0c;激励企业设计自己的大型语言模型。…

微软 CEO Satya Nadella 的访谈

Nicolai: 大家好。我刚经历了人生中最不可思议的事情&#xff0c;我有幸采访了微软的 CEO、Satya Nadella。微软现在是全球市值最高的公司。真是太棒了&#xff0c;请继续关注。 第一章 微软的发展与平台转变 Nicolai: Satya&#xff0c;你是全球市值最高公司的 CEO&#xff…

GPT-4.5 Turbo详细信息被搜索引擎泄露:有重大改进

3月14日消息&#xff0c;据外电报道&#xff0c;OpenAI 最新人工智能模型 GPT-4.5 Turbo 的详细信息已通过 Bing 和 DuckDuckGo 的搜索引擎索引过早泄露。 GPT-4.5 Turbo 的产品页面在正式发布之前就出现在搜索结果中&#xff0c;引发了人们对 OpenAI 最新型号的特性和功能的猜…

GPT的实现细节

关于GPT的代码细节&#xff0c;这里梳理了一下&#xff1a; 数据集构造 原始数据集schema&#xff1a; inputwho is your favorite basketball player? outputOf course Kobe Bryant!那么在构造训练集时&#xff0c;根据chunk size构造多个输入&#xff1a; input_1who is …

深入探索Redis集合:高效数据存储与应用解析

Redis作为一种高性能的键值存储系统&#xff0c;其中的集合&#xff08;Set&#xff09;是一种无序、唯一值的数据结构&#xff0c;提供了快速的插入、删除和查找操作。本文将深入解析Redis集合的使用方法、示例、应用场景以及注意事项。 Redis集合的基本使用方法 Redis集合的…

每周一算法:双向深搜

题目描述 达达帮翰翰给女生送礼物&#xff0c;翰翰一共准备了 N N N 个礼物&#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大&#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品&#xff0c;请…

c/c++ | gdb | 多线程调试

关于调试程序&#xff0c;采用GDB 一般有两种方式 一个是gdb -p 加上你要调试的程序 gdb -p xxx 或者 gdb attach 加上你要调试的程序 gdb attaach xxx 然后对于调试多线程&#xff0c;一般是出现死锁问题。死锁通常是共享资源冲突导致 调试多线程 已经进入gdb 调试 查看 进程 …

微服务:Sentinel篇

1. 初识Sentinel 1.1. 雪崩问题以及解决方案 1.1.1. 雪崩问题 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。 如图&#xff0c;如果服务提供者I发生了故障&#xff0c;当前的应用的部分业务因为依赖于服务I&#xff0c;因此…

【学习笔记】如何实现云原生初步

云原生&#xff08;Cloud Native&#xff09;作为近年来云计算领域的重要趋势&#xff0c;旨在帮助企业更高效地构建、部署和管理应用程序。通过结合容器、微服务、DevOps等关键技术&#xff0c;云原生能够充分发挥云平台的弹性、分布式优势&#xff0c;提升应用的性能、可靠性…

静默安装OGG21.3微服务版本FOR ORACLE版本

静默安装OGG21.3微服务版本FOR ORACLE版本 silent install ogg21.3 for oracle 某度找来找去都没有找到一份可靠的静默安装OGG21.3微服务版本的案例&#xff0c;特别难受&#xff0c;为此将自己静默安装的步骤一步步贴出来分享给大家&#xff0c;请指点&#xff0c;谢谢。 至…

Web Speech API的语音识别技术

SpeechSynthesis对象 这是一个实验性技术 目前兼容性如图&#xff1a; pc端几乎兼容&#xff0c;移动端部分不兼容 网页语音 API 的SpeechSynthesis 接口是语音服务的控制接口&#xff1b; 它可以用于获取设备上关于可用的合成声音的信息&#xff0c;开始、暂停语音&#x…

Querywrapper与Lambdaquerywrappe比较

当使用 Spring Boot 结合 MyBatis Plus 进行开发时&#xff0c;LambdaQueryWrapper 和 QueryWrapper 是用于构建查询条件的两个重要工具。下面详细介绍它们的区别&#xff0c;并举例说明在 Spring Boot 中如何使用。 1. QueryWrapper QueryWrapper 是 MyBatis Plus 中常用的查…

软件杯 深度学习 python opencv 实现人脸年龄性别识别

文章目录 0 前言1 项目课题介绍2 关键技术2.1 卷积神经网络2.2 卷积层2.3 池化层2.4 激活函数&#xff1a;2.5 全连接层 3 使用tensorflow中keras模块实现卷积神经网络4 Keras介绍4.1 Keras深度学习模型4.2 Keras中重要的预定义对象4.3 Keras的网络层构造 5 数据集处理训练5.1 …

从电影《沙丘》说起——对人工智能的思考

从《沙丘》开始说起 之前看《沙丘》电影&#xff0c;里面有一类角色叫门泰特&#xff0c;这类人大脑可以飞快地运算&#xff0c;在电影设定里是替换人工智能、机器运算的存在。男主保罗也是这类型的人&#xff0c;但他可能基因更强大&#xff0c;吸食了香料后&#xff0c;他的…

docker快速安装和详细安装-保姆教程

docker快速安装和详细安装 一、快速搭建 卸载老版本 yum remove docker docker-common docker-selinux docker-engine安装相关需要的包 yum install -y yum-utils device-mapper-persistent-data lvm2设置docker镜像仓库 yum-config-manager \ --add-repo \ http://mirror…

什么数据需要存在Redis里?缓存的缺点?怎样进行数据同步?

什么数据需要存在Redis里? 通常需要将频繁访问且对性能要求较高的数据存储在Redis中。 缓存数据&#xff1a;Redis常用于存储缓存数据&#xff0c;如热点数据、频繁查询的结果等&#xff0c;以减少对后端数据库的压力和提高系统响应速度。会话信息&#xff1a;对于Web应用来…

大数据面试题之SQL题

大数据面试题之SQL题 1.有一个录取学生人数表&#xff0c;记录的是每年录取学生人数和入学学生的学制 以下是表结构&#xff1a; CREATE TABLE admit ( id int(11) NOT NULL AUTO_INCREMENT, year int(255) DEFAULT NULL COMMENT ‘入学年度’, num int(255) DEFAULT NULL COMM…

大语言模型相关工具使用链接

大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是自然语言处理&#xff08;NLP&#xff09;领域中的一种深度学习模型&#xff0c;主要用于理解和生成人类语言。这类模型通常基于Transformer架构&#xff0c;通过在大规模语料库上进行预训练来捕获语言…

Hive调优总结

参数设置 概述:hive的参数配置, 就是在那里配置hive的参数信息, 根据配置地方不同, 作用范围也不一样. 配置方式: 1. set方式进行设置. 2. 命令行方式进行设置. 3. 配置文件方式进行设置. 优先级问题: set方式 > 命令行方式 > 配置文件…

Day67:WEB攻防-Java安全JNDIRMILDAP五大不安全组件RCE执行不出网

知识点&#xff1a; 1、Java安全-RCE执行-5大类函数调用 2、Java安全-JNDI注入-RMI&LDAP&高版本 3、Java安全-不安全组件-Shiro&FastJson&JackJson&XStream&Log4j Java安全-RCE执行-5大类函数调用 Java中代码执行的类&#xff1a; GroovyRuntimeExecPr…