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

刷题日记—数组—数组偏移

好久没好好刷基础题了,今天接着刷了数组类型,碰到了一个数组偏移问题,如下:
image
题解:

#include<iostream>
using namespace std;
bool fire[10000][10000];
int main(){    //要注意数组越界问题int n,m,k;cin>>n>>m>>k;while(m--){int cx,cy;cin>>cx>>cy;cx+=2;  //从i=3开始遍历  进行数组的偏移,防止,1,2的时候数组越界访问,之后遍历统计数量的时候也要从i=3的时候开始遍历cy+=2;for(int i=cx-2;i<cx+3;++i){fire[i][cy]=true;}for(int i=cy-2;i<cy+3;++i){fire[cx][i]=true;}  fire[cx+1][cy+1]=true,fire[cx-1][cy+1]=true;fire[cx-1][cy-1]=true,fire[cx+1][cy-1]=true;}  //火把放置完毕while(k--){int dx,dy;cin>>dx>>dy;dx+=2,dy+=2;for(int i=dx-2;i<dx+3;++i){for(int j=dy-2;j<dy+3;++j){fire[i][j]=true;}}}
int cnt=0;for(int i=3;i<=n+2;++i){for(int j=3;j<=n+2;++j){if(!fire[i][j]){cnt++;}}}cout<<cnt<<endl;return 0;
}

数组偏移的核心思想就是先把数组向右偏移k个,防止之后再遍历的时候下标越界,如1,2等情况;最后遍历统计结果的时候,n也要+k。

http://www.jsqmd.com/news/37905/

相关文章:

  • 【数据结构】:C 语言常见排序算法的实现与特性解析 - 指南
  • rdp远程桌面协议进行远程桌面控制
  • 第五届 RTE 年度 Demo Day 三强公布!看到对话式 AI 的 N 种未来
  • 活用数组题目参考
  • static、static静态代码块、Math库、final
  • Miko Framework 系列(一):简介与核心理念
  • Markdown语法的学习①
  • DeepLiveCam2.3版本直播换脸(附本地部署教程)
  • CF235D
  • 20251108OIFHA
  • 第二次作业-何玮鑫
  • Python serialize listT
  • 2025年EGUOO肠胃片深度解析:科学复配视角下的胃肠健康新答案
  • logging 模块
  • 2025年河南工业大学2025新生周赛(3)
  • 指数生成函数
  • 基于SpringBoot+Vue的线上一流课程教学辅助系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】 - 指南
  • 类 类型转化(运用子类的方法)
  • postman: 用HTTPBasicAuth的方式发送账号密码
  • 11/11
  • 2025 ICPC 南京区域赛游记
  • 详细介绍:Kuikly 小白拆解系列 第1篇|两棵树直调(Kotlin 构建与原生承载)
  • 编程思维与 AI-coding 结合
  • 重大收获的一天
  • 如何制作一个随身服务器?
  • 业务用例模板(用户线上充值) - f
  • 丝路杯
  • CTF 流量分析- Wireshark 核心教程:从网卡抓包到 2025 - CTF 流量分析题目技巧
  • 关于做过的第一道实验题的思考
  • #20232329 2025-2026-1 《网络与系统攻防技术》 实验五实验报告