当前位置: 首页 > 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.gsyq.cn/news/46885.html

相关文章:

  • 完整教程:阿里云k8s部署微服务yaml和Dockerfile文件脚本
  • Markdown语法的学习①
  • 第二次作业-何玮鑫
  • 题解:P8127 [BalticOI 2021] The Xana coup (Day2)
  • 2025年EGUOO肠胃片深度解析:科学复配视角下的胃肠健康新答案
  • logging 模块
  • Tarjan の 套餐
  • postman: 用HTTPBasicAuth的方式发送账号密码
  • 2025 ICPC 南京区域赛游记
  • 详细介绍:Kuikly 小白拆解系列 第1篇|两棵树直调(Kotlin 构建与原生承载)
  • 丝路杯
  • CTF 流量分析- Wireshark 核心教程:从网卡抓包到 2025 - CTF 流量分析题目技巧
  • CF round vp 选记
  • 详细介绍:微服务时代的前后端协作:API契约驱动开发实践
  • ZROI-NOIP2025做题记录
  • week1--RE--刷题记录
  • Pycharm常用设置
  • *题解:P5278 算术天才⑨与等差数列
  • 学习昇腾硬件软件产品名称
  • ASP.NET Core Authorization: 跳过JWT校验
  • AT_agc034_c [AGC034C] Tests
  • 第七天 设计用例方法
  • 详细介绍:LLaMA-Factory实战优化进阶
  • ch3题解
  • 2025年11月镀锌板品牌新榜:聚焦HC300DPD+Z镀锌板//镀锌花纹板/热镀锌花纹板/Q345B镀锌花纹板全产业链优势!
  • 2025年11月腻子粉厂家新推荐榜:聚焦环保腻子粉/植物腻子粉/净醛腻子粉/健康腻子粉/无味腻子粉环保性能深度解析!
  • 2025聚脲涂料行业优质厂家推荐榜:宁国创遂领衔,手工 / 喷涂 / 天冬聚脲涂料实力派齐聚
  • 2025发泡混凝土优质厂家推荐榜:云南锦乐五星领跑,西南三家企业凭特色实力入围
  • 编程老鸟请注意
  • 2025年济南画室培训机构最新推荐:济南画室/济南艺考画室/山东美术艺考培训/山东画室/专业教学,个性化辅导新标杆