蓝桥杯寒假集训第三天《灌溉》

news2024/9/25 13:24:05

没有白走的路,每一步都算数🎈🎈🎈

题目描述:

一个长方形块,在方形块的中间位置有给定的水管,这些水管在单位时间会往上下左右四个方向进行灌溉。问在给定的方块中,一定时间后,给定的方块中的水管会灌溉多少块小正方形。其中原本放有水管的位置就已经被灌溉。

输入描述:

第一行:

输入长方形的长度和宽度n,m

第二行:

输入方形区域内中水管的个数k

接下来k行:

输入每个水管在方形区域内的位置x,y

最后一行:

输入进行灌溉的时间t

输出描述:

输出最后被灌溉的正方形的个数

样例输入输出:

样例输入:

3 6

2

2 2 

3 4

1

样例输出:

9

第一次:

第一次尝试,出现错误。没能考虑两个点是一起扩散的,单独的for循环不能满足条件。只能考虑到一种条件,遂改变想法

第二次:

考虑到这个可以使用暴力法来解,于是这里还没考虑到空间的原因,于是,采用扩大两倍循环,设置两个维数一样的二维数组。

设计思路:

那么我们for循环两次,第一次把一个数组的灌溉的位置抽象成数字1,第二次再把改变的数组全部赋给原来的数组,这样就能达到预期结果

AC代码:

#灌溉
n,m = map(int,input().split())

L = [[0 for j in range(m)]for i in range(n)]
A = [[0 for j in range(m)]for i in range(n)]
k = int(input())
##print(A)
for i in range(k):
    a,b = map(int,input().split())
    L[a-1][b-1] = 1
    A[a-1][b-1] = 1
##print(A)
##def fun(L):
##    l = [[0 for j in range(len(L[0]))]for i in range(len(L))]
##    return l

t = int(input())
for x in range(2*t):
    if x%2==0:
        for i in range(n):
            for j in range(m):
                if L[i][j]==1:
                    if j+1<m:
                        A[i][j+1] = 1
                    if j-1>=0:                      
                        A[i][j-1] = 1
                    if i-1>=0:
                        A[i-1][j] = 1
                    if i+1<n:
                        A[i+1][j] = 1
                    break
    else:
        for i in range(n):
            for j in range(m):
                L[i][j]=A[i][j]

##A = fun(L)
##print(A)
count = 0
##print(L)
##print(A)
for i in range(n):
    for j in range(m):
        if L[i][j]==1:
            count+=1
print(count)

 小彩蛋:

如果你想确保两个数组只是开始的那一刻赋值相同,当其中一个变化,另外一个不受影响的两个数组,就切记不要采用下述的代码

计算出来,在后面对A数组的值进行变更的时候,L数组的值也会变更。

如下所示:(错误示范❌)

 

 正确示范:

代码:


 结果:

每日一句

摘自《《晚熟的人》》:

假如你不努力,一年后你还是原来的你,只是一岁。

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

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

相关文章

PyCharm 发布了新版,支持最新 Python 3.11 和 PyScript 框架

通常而言&#xff0c;使用新潮的或者快速发展的技术&#xff0c;可能会挺有挑战性&#xff0c;你可能得经常阅读文档&#xff0c;才能熟悉新的语法、API 和协议。 PyCharm 2022.2 通过提供对 Python 3.11 的语言特性和新的 PyScript 框架的支持&#xff0c;能够帮助你完成这一…

代码随想录算法训练营day59|503.下一个更大元素II,42. 接雨水

503.下一个更大元素II 503. 下一个更大元素 II - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;单调栈 1. 单调递增栈&#xff1b;在遍历的过程中模拟走两边nums&#xff1b; class Solution {public int[] nextGreaterElements(int[] nums) {if(numsnull || num…

【MySQL】八,角色管理

创建角色 引入角色的目的是方便管理拥有相同权限的用户。恰当的权限设定&#xff0c;可以确保数据的安全性。 语法 CREATE ROLE role_name[host_name] [,role_name[host_name]]...创建一个经理的角色 create role managerlocalhost;给角色赋予权限 创建角色之后&#xff0…

使用 npm link 测试本地编写的 node 模块 / 引入全局安装的 node 模块

目录 1. npm install VS npm install -g 2. npm install -g 的本质&#xff1f;映射脚本的作用&#xff1f; 3. 如何测试使用未发布的 npm 包&#xff1f;npm link 原理&#xff1f; 4. link 到项目 4.1 全局 link 4.2 解除 link 4.3 link 到项目有两种情况&#xff08;…

ansible 第二天

要求&#xff1a; 安装并且配置ansible 1)安装和配置ansible以及ansible控制节点server.example.com如下&#xff1a; 2)创建一个名为/home/student/ansible/inventory的静态库存文件如下所示&#xff1a; 2.1)node1 是dev主机组的成员 2.2)node2是test主机组的成员 2.3)node1和…

什么是 Loader、手写 Webpack Loader

目录 1. 什么是 Loader 1.1 Loader 工作原理 1.2 Loader 执行顺序 1.3 内联 Loader 前缀​​​​​​​ 2. 如何开发 Loader 2.1 Loader 长什么样子 2.2 配置本地 Loader 的四种方法 2.2.1 在配置 rules 时&#xff0c;指定 Loader 的绝对路径 2.2.2 在 resolveLoader…

Windows配置万德(Wind)量化接口

原理&#xff1a;wind会在python的第三方库中安装一个属于wind的库 文章目录步骤1:确定python的路径步骤2:配置wind的接口步骤3:检查配置步骤4:使用python提取任意的wind数据步骤1:确定python的路径 如果是默认安装&#xff0c;一般路径是&#xff1a;C:\Users\用户名\Anacond…

磨金石教育摄影技能干货分享|优秀作品欣赏—技巧十足的艺术摄影

想要赏析艺术类的摄影&#xff0c;就得立足于画面身后的意蕴&#xff0c;想作者所想&#xff0c;思作者所思。 这有一定的难度&#xff0c;但也不乏趣味。 今天我们就再来看一组艺术类摄影作品&#xff0c;看看作者如何用高明的技巧表达自己心中的感受吧。 1、江苏省-李玉龙-《…

表白墙 -- 前后端代码详解

表白墙 -- 前后端代码详解一、前端二、后端实现2.1 需求2.2 创建项目及初始化2.3 实现提交数据 (存档)2.3.1 实现 doPost2.3.2 构造请求 (修改 html 文件)2.3.3 验证2.4 实现获取数据 (读档)2.4.1 实现 doGet2.4.2 构造请求 (修改 html 文件)2.4.3 验证三、JDBC 版本 (MySQL)3.…

回味2022

回味20221.前言2.过去的十二个月3.我期望的20231.前言 2021年写给自己的总结&#xff1a;回味2021 一年又一年飞逝的光阴&#xff0c;我想唯有时间留给人的印象最为深刻吧。春去秋来&#xff0c;四季轮回间都是时光的印记。2022年12月30日&#xff0c;25岁的我依旧在这间写下2…

从socket开始讲解网络模式

从socket开始讲解网络模式 windows采用IOCP网络模型&#xff0c;而linux采用epoll网络模型&#xff08;Linux得以实现高并发&#xff0c;并被作为服务器首选的重要原因&#xff09;&#xff0c;接下来讲下epoll模型对网络编程高并发的作用 简单的socket连接 socket连接交互的…

LaoCat带你认识容器与镜像(一)

准备更新一个容器与镜像相关的系列&#xff0c;从Docker到K8s的入门再到实际项目进阶应用&#xff0c;这里感谢好朋友泽鹏&#xff0c;是他让我结识容器与镜像&#xff1b;也感谢上家公司菲恩曼&#xff0c;是它给了我去学习、实践的机会&#xff1b;最后感谢翼哥&#xff0c;一…

Linux系统下at任务调度机制

Linux系统下at任务调度机制 基本介绍 at命令是一次性定时计划任务&#xff0c;at 的守护进程 atd 会以后台模式运行&#xff0c;检查作业队列来运行。默认情况下&#xff0c;atd 守护进程每60秒检查作业队列&#xff0c;有作业时&#xff0c;会检查作业运行时间&#xff0c;如果…

深入理解计算机系统_可重定位目标文件的格式---elf格式

本篇笔记记录可重定位目标文件的格式— elf格式&#xff0c;也是《深入理解计算机系统》第7章的内容。了解这些内容&#xff0c;对我们很有帮助&#xff0c;比如代码排错&#xff0c;可以深入了解C/C 实现原理。 分别介绍如何得到可重定位目标文件及其格式。 2.1 如何得到可重…

操作系统~Linux~线程的互斥,mutex互斥锁的使用及其原理

1.一些基本概念 1&#xff0e;临界资源&#xff1a;凡是被线程共享访问的资源都是临界资源&#xff08;多线程、多进程打印数据到显示器&#xff0c;显示器就是临界资源&#xff09; 2&#xff0e;临界区&#xff1a;代码中访问临界资源的代码&#xff08;在代码中&#xff0c;…

kotlin学习笔记之注解与反射

一、声明并应用注解 一个注解允许你把额外的元数据关联到一个声明上。然后元数据就可以被相关的源代码工具访问&#xff0c;通过编译好的类文件或是在运行时&#xff0c;取决于这个注解是如何配置的。 1、应用注解 在kotlin中使用注解的方法和java一样。要应用一个注解&#xf…

如何通过3个月自学成为网络安全工程师!

前言&#xff1a; 趁着今天下班&#xff0c;我花了几个小时整理了下&#xff0c;非常不易&#xff0c;希望大家可以点赞收藏支持一波&#xff0c;谢谢。 我的经历&#xff1a; 我 19 年毕业&#xff0c;大学专业是物联网工程&#xff0c;我相信很多人在象牙塔里都很迷茫&…

Pycharm配置关于pyside6的外部工具

文章目录一、前言二、Pycharm配置1、designer.exe&#xff08;1&#xff09;打开Pycharm的设置&#xff08;2&#xff09;相关参数&#xff08;可复制粘贴&#xff09;2、Pyside6-uic.exe&#xff08;1&#xff09;设置&#xff08;2&#xff09;相关参数&#xff08;可复制粘贴…

Java--抽象类和接口的区别

今天是22年最后一天了, 写篇博客记录一下吧, 这一年发生了很多事情, 也学到了很多知识, 后面要继续加油啊, 大家也要加油啊, 米娜桑. 目录 概述 区别 1. 定义关键字不同 2. 继承或实现的关键字不同 3. 子类扩展的数量不同 4. 属性访问控制符不同 5. 方法控制符不同 6.…

python互联网程序设计GUI程序设计和网络程序设计(人机互动聊天软件)

1&#xff0e;项目意义 1、了解网络的结构&#xff1b; 2、了解网络传输协议&#xff1b; 3、掌握基本的网络编程方法。 2&#xff0e;总体设计 使用 TCP 协议实现人机聊天互动&#xff0c;程序具有服务端和客户端&#xff1a; &#xff08;1&#xff09;必备功能&#xff1…