ACwing题目分享 756

devtools/2024/10/18 22:42:32/

这个题看起来比较简单,但实际上有些思维难度,现在想到的是模拟法,我们可以设好边界,然后从左上角开始遍历,沿着题目要求的顺序,沿着top left right bottom这四个边依次来做。

模拟过程有很多坑,比如边界问题。我采用的是把遍历一次过后,把这个调节往里缩小一个单位。当两侧边界重合的时候结束循环。

每一个小的循环,需要考虑每一处的边界,是否重合。

上代码:

#include<bits/stdc++.h>
using namespace std;
int q[101][101];
//定义好边界
int main(){int n,m;cin>>n>>m;int left=0,right=m-1,top=0,bottom=n-1;int k=1;while(left<=right||top<=bottom){//先模拟第一行 topfor(int j=left;j<=right&&top<=bottom;j++){q[top][j]=k++;}top++;//模拟最后一列 rightfor(int i=top;i<=bottom&&left<=right;i++){q[i][right]=k++;}right--;//模拟最后一行 bottomfor(int j=right;j>=left&&top<=bottom;j--){q[bottom][j]=k++;}bottom--;//模拟第一列 leftfor(int i=bottom;i>=top&&left<=right;i--){q[i][left]=k++;}left++;}//输出for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<q[i][j]<<" ";}cout<<endl;}return 0;
}


http://www.ppmy.cn/devtools/126842.html

相关文章

【Java 并发编程】线程池理解与使用

前言 在进入本章的学习之前&#xff0c;先来回顾一下&#xff0c;在没有使用线程池一直是如何执行任务的&#xff1a; class Task implements Runnable{Overridepublic void run() {System.out.println(Thread.currentThread().getName());} }class Main{public static void ma…

如何识别并防范网络诈骗?

华企网安警示&#xff1a; 1.提高警惕性&#xff1a;对所有在线通信保持警惕&#xff0c;特别是那些要求提供个人信息或财务信息的请求。 2.检查发件人信息&#xff1a;在电子邮件或消息中&#xff0c;检查发件人的电子邮件地址或电话号码是否与他们声称的身份相符。 3.验证…

无人机视角下火灾检测数据集 共12736张 标注文件为YOLO适用的txt格式。已划分为训练集、验证集、测试集。类别:Fire yolov5-v10通用

无人机视角下火灾检测数据集 共12736张 标注文件为YOLO适用的txt格式。已划分为训练集、验证集、测试集。类别&#xff1a;Fire yolov5-v10通用 无人机视角下火灾检测数据集 共12736张 标注文件为YOLO适用的txt格式。已划分为训练集、验证集、测试集。类别&#xff1a;Fire yol…

【微服务】微服务API网关详解:提升系统效率与安全性的关键策略

目录 引言一、什么是API网关&#xff1f;二、API网关的架构三、API网关的优势与劣势分析3.1 API网关的优势3.2 API网关的劣势 四、常见的API网关工具五、实现API网关的最佳实践结论 引言 在微服务架构中&#xff0c;API网关作为客户端与后端服务之间的中介&#xff0c;充当客户…

鸿蒙开发(NEXT/API 12)【公共事件发布】蜂窝通信服务

场景介绍 当需要发布某个自定义公共事件时&#xff0c;可以通过[publish()]方法发布事件。发布的公共事件可以携带数据&#xff0c;供订阅者解析并进行下一步处理。 注意 已发出的粘性公共事件后来订阅者也可以接收到&#xff0c;其他公共事件都需要先订阅再接收 接口说明 …

flutter assets配置加载本地图片报错

首选列出我在照着网上说的设置assets怎么搞都报错&#xff0c;错误如下&#xff0c;搞的我想骂娘。 flutter: uses-material-design: true assets: - assets/images 后来找到了下面这个教程&#xff0c;才终于解决&#xff0c;就是要在后面加一个"/" 。 flutter这个…

算法(C++实现)

从现在开始&#xff0c;开辟一个新的专题----算法&#xff0c;这篇文章介绍双指针&#xff0c;滑动窗口&#xff0c;二分查找这几种算法以及附有相应的练习题。 1.双指针 常见的双指针形式有两种&#xff0c;一种是对撞指针&#xff0c;一种是同向双指针。下面是三种对应情况…

MySQL 中 LIKE 语句的 `%` 和 `_` 以及 BLOB 和 TEXT 的详细解析和案例示范

1. LIKE 语句中的 % 和 _ 用法 1.1 % 通配符的用法 % 通配符代表零个或多个字符。它是 MySQL 中用于模糊匹配的强大工具之一&#xff0c;可以在任何字符的位置使用。 示例 1&#xff1a;查找以特定字符开头的记录 假设我们有一个电商订单系统的 orders 表&#xff0c;其中包…