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

蛟三升班必看!!!

文件IO

freopen("xxx.in",stdin);

freopen("xxx.out",stdont);

题目是什么文件就写什么文件

加速器

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

加速cin/cout输出

二维数组

行列遍历

只需要看好i和j

在做二维数组的时候,最好画个下标访问图

下标访问图:

a[1,1] a[1,2] a[1,3] a[1,4]

a[2,1] a[2,2] a[2,3] a[2,4]

a[3,1] a[3.2] a[3,3] a[3,4]

a[4,1] a[4,2] a[4,3] a[4,4]

边缘

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

for(int j=2;j<m;j++){//直接计算

……

}

}

数组初始化

方法一:

memset(a,0,sizeof(a));//值为0

方法二:

定义为全局变量

斜线

每条斜线

i-j=k1-n<=k<=n-1

i+j=k2<=k<=2*n

元素四周关系

上=a[x-1][y] 下=a[x+1][y] 左=a[x][y-1] 右=a[x][y+1]

四个方向:

int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}}; for(int i=0;i<4;i++){ x=x+dir[i][0]; y=y+dir[i][1]; }

左上=a[x-1][y-1] 左下=a[x+1][y-1] 右上=a[x-1][y+1] 右下=a[x+1][y+1]

int dir[8][2]={{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{-1,1},{1,-1},{1,1}}; for(int i=0;i<8;i++){ x=x+dir[i][0]; y=y+dir[i][1]; }

旋转矩阵

1

23
456
789

a[1][1]→b[1][3] a[2][1]→b[1][2] a[1][2]→a[2][3]

a[2][2]→b[2][2] a[1][3]→b[3][3] a[2][3]→a[3][2]

……

7

41
852
963

得出公式:

顺时针90°:b[j][n+1-i]=a[i][j]

顺时针180°:b[n+1-i][m+1-j]=a[i][j]

顺时针270°:b[m+1-j][i]=a[i][j]

二维数组的回形遍历

思路:

边界情况能用bool二维数组来存放,还要判断是否超出数组大小。

dir数组:

定义按顺序,按"右,下,左,上",顺序

代码:

int a[105][105]; bool b[105][105]; int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; int main(){ int n,m; cin>>n>>m; memset(b,false,sizeof(b)); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } int x=1,y=0,sum=0,fx=0; while(sum<n*m){ int dx=x+dir[fx][0]; int dy=y+dir[fx][1]; if(dx>n||dy>m||dx<1||dy<1||b[dx][dy]==true){ fx=(fx+1)%4; } x=x+dir[fx][0]; y=y+dir[fx][1]; cout<<a[x][y]<<' '; sum++; b[x][y]=true; } return 0; }

递归

递归:简洁

问题能用函数描述

问题转移

边界

内存多,时间也多!

补充:一维字符数组

结构体

定义结构体

struct类型名称{//不要有()

数据类型1 成员名1;

数据类型2 成员名2;

……

}

填完后,能把它当成int ,long long来用

如:

类型名称a[105];

姓名
班级
学号
12345

输入结构体

一、

cin>>a.xm>>a.id;

二、(推荐)

int id;

string xm;

cin>>xm>>id;

a={xm,id};

结构体排序

正常:

sort(a+1,a+n+1);

结构体增加一个函数

sort(a+1,a+n+1,cmp);

函数:

bool cmp(node x,node y){

这里自己控制程序

}

运算符重载

在结构体里写:

bool operator<(node x){

这里自己控制程序

}

主函数里面只需要写

sort(a+1,a+n+1)后面不用函数来写了

有整体性就能用结构体!!!

未完待续……

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

相关文章:

  • 【ChatGPT 2026终极前瞻】:12项已确认新功能+3大颠覆性架构升级,仅限首批内测开发者掌握
  • 2026年当下,江夏区专业汽车膜门店的“硬核”选择之道 - 2026年企业推荐榜
  • 该庆幸油车没有智能化了,不用担忧远程锁电或控制,不会无限收费
  • Arm DDT:高性能计算并行程序调试利器
  • 【仅限前500名】Midjourney Gouache风格私藏Prompt库泄露:含9类经典艺术家笔触映射表(Sargent/Feininger/Käthe Kollwitz专属参数包)
  • Steam成就解锁终极指南:免费开源工具快速管理全成就
  • 协同过滤推荐系统实战:从影视推荐到工程选型的算法原理与应用
  • 2026年Q2抗菌内裤技术解析:菌草内衣/蚕丝内裤/透气内裤/儿童内裤/冰丝内衣/冰丝内裤/塑身内衣/女士内裤/选择指南 - 优质品牌商家
  • JPlag代码查重实战指南:突破性技术如何自动化检测代码抄袭
  • 2026年4月月记
  • ARM GIC中断控制器架构与关键寄存器详解
  • 如何远程电脑屏幕监控?分享五个远程屏幕监控方法,小白也能学会
  • 国产DSP多片SAR成像软件与测试系统【附代码】
  • 2026年,7款建筑分包工程管理软件全解析:痛点、选型与落地
  • ARM架构FAR_EL3与FPCR寄存器详解与应用
  • Go语言AI智能体框架Agency:原生构建大语言模型应用
  • FinFET内存测试技术挑战与创新解决方案
  • Gmail自动归档+Drive智能标注+Calendar动态议程,三步打通Gemini中枢(2024最新Beta权限实测)
  • AI Agent配置安全扫描:AgentLint工具实战与供应链风险防护
  • ChatGPT 2026上线“跨会话记忆锚点”技术:用户隐私数据本地加密留存,但仅开放给GDPR/CCPA双认证企业——窗口期仅剩23天
  • ElevenLabs+Whisper+RVC三端协同工作流,实现端到端AI配音闭环(仅限前500名开发者获取配置清单)
  • 数据分析面试辅导的核心价值:从面试官视角看学员常见问题,职卓科技如何针对性解决
  • 从‘我爱中国’到机器翻译:BiLSTM如何成为NLP多面手?一个原理图解全知道
  • 如何用歌词滚动姬实现专业级LRC歌词制作:终极免费工具指南
  • 汽车CAN总线轻量级加密方案设计与实现
  • 备战蓝桥杯国赛【Day 10】
  • 随机参数雷达信号处理关键技术【附代码】
  • 2026备战软考核心模块与复习方法
  • AI 视频的新工作流:从一次性生成,走向可复用的动效资产
  • MacBook Neo 卖爆,说明低负载电脑被重新看见了