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

lanqiaoOJ 551 灌溉

//用两个二维数组分别记录当前和后一分钟灌溉情况,持续按照题意更新数组

#include<bits/stdc++.h>

using namespace std;

const int N=110;

int a[N][N],b[N][N];

int n,m;

int main(){

  ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

  cin>>n>>m;

  int t;cin>>t;

  int r,c;

  for(int g=1;g<=t;g++){

    cin>>r>>c;

    a[r][c]++;

  }

  int k;cin>>k;

  while(k--){

    for(int i=1;i<=n;i++){

      for(int j=1;j<=m;j++){

        if(a[i][j]){

//b[i][j]也要设置为1,否则马上更新了之后a[i][j]就变成了0,即a[i][j]周围都被灌溉,就自己还没有灌溉,导致

          b[i][j]=b[i-1][j]=b[i+1][j]=b[i][j-1]=b[i][j+1]=1;

        }       

      }

    }

    //在某一分钟内,所以的水管都发挥浇灌作用后,在进行整体的更新

    for(int i=1;i<=n;i++){

      for(int j=1;j<=m;j++){

        a[i][j]=b[i][j];

      }

    }

  }

  int ans=0;

  for(int i=1;i<=n;i++){

    for(int j=1;j<=m;j++){

      if(a[i][j]){

        ans++;

      }

    }

  }

  cout<<ans<<endl;

  return 0;

}

http://www.dtcms.com/a/123976.html

相关文章:

  • 回溯算法+对称剪枝——从八皇后问题到数独问题(二)
  • 基于autokeras的简单天气预报例子和运行输出
  • Maven 基础知识
  • HarmonyOS-ArkUI 装饰器V2 @ObservedV2与@Trace装饰器
  • 3ds Max 2016的版本怎么处理 按键输入被主程序截断 C#winform窗体接受不到英文输入
  • linux入门六:Linux Shell 编程
  • c++的函数重载
  • 机器学习 | 强化学习方法分类汇总 | 概念向
  • 国产信创数据库:PolarDB 分布式版 V2.0,支持集中分布式一体化
  • Vanna + qwq32b 实现 text2SQL
  • springboot集成springcloud vault读值示例
  • C++ - 数据容器之 unordered_map(声明与初始化、插入元素、访问元素、遍历元素、删除元素、查找元素)
  • 三相电为什么没零线也能通电
  • kali linux vmware 光标无法移出vmware,需要按ctrl + alt 才能移出光标
  • 【DB2】事务日志满/归档占用较大问题处理记录
  • 深入解析栈式虚拟机与反向波兰表示法
  • FacialExpressionDetection的conda虚拟环境搭建Window
  • 清华DeepSeek教程又双叒叕更新了!(共7份PDF下载)
  • DAPP实战篇:使用web3.js实现前端输入钱包地址查询该地址的USDT余额——前端篇
  • 算法竞赛中常用的数据处理库函数
  • 2025常用的ETL 产品推荐:助力企业激活数据价值
  • PyTorch Tensor维度变换实战:view/squeeze/expand/repeat全解析
  • SPI、UART、IIC(I²C) 通信协议的详细介绍及对比分析
  • NO.86十六届蓝桥杯备战|动态规划-01背包|采药|小A点菜|Cow Frisbee Team(C++)
  • KWDB创作者计划—KWDB:重新定义数据管理的边界
  • (51单片机)串口通讯(串口通讯教程)(串口接收发送教程)
  • 支付系统C扫B全链路压测方案
  • NLP高频面试题(三十九)——什么是大模型的涌现能力?
  • MATLAB在哪些特定领域比Python更有优势?
  • 华强北手表256G的,真实有多少?如何打开调试模式及root