第十六屆藍橋杯青少組C++省賽[2025.8.9]第二部分編程題(4、矩陣圈層交錯旋轉)

參考程序:

#include <bits/stdc++.h>
using namespace std;const int MAXN = 105;
int a[MAXN][MAXN];int main() {int n;if (!(cin >> n)) return 0;for (int i = 0; i < n; ++i)for (int j = 0; j < n; ++j)cin >> a[i][j];int layers = n / 2; // 每次處理一圈,外層到里層共有 floor(n/2) 層// 對每一層做 (right-left) 次四元循環替換for (int layer = 0; layer < layers; ++layer) {int top = layer;int left = layer;int bottom = n - 1 - layer;int right = n - 1 - layer;// 對當前圈上的每一個偏移 i 做一次 4 格循環替換for (int i = 0; i < right - left; ++i) {int rTop = top,        cTop = left + i;int rRight = top + i,  cRight = right;int rBottom = bottom,  cBottom = right - i;int rLeft = bottom - i, cLeft = left;if (layer % 2 == 0) {// 順時針 90° (CW):左 -> 上, 下 -> 左, 右 -> 下, 上 -> 右int tmp = a[rLeft][cLeft];a[rLeft][cLeft]     = a[rBottom][cBottom];a[rBottom][cBottom] = a[rRight][cRight];a[rRight][cRight]   = a[rTop][cTop];a[rTop][cTop]       = tmp;} else {// 逆時針 90° (CCW):上 -> 左, 右 -> 上, 下 -> 右, 左 -> 下int tmp = a[rTop][cTop];a[rTop][cTop]       = a[rRight][cRight];a[rRight][cRight]   = a[rBottom][cBottom];a[rBottom][cBottom] = a[rLeft][cLeft];a[rLeft][cLeft]     = tmp;}}}// 輸出結果for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {if (j) cout << ' ';cout << a[i][j];}cout << '\n';}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93205.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93205.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93205.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【FastGTP?】[01] 使用 FastGPT 搭建簡易 AI 應用

簡易應用&#xff1a;英語單詞解釋 例句 1. 前言 FastGPT 是一個低代碼 AI 應用構建平臺&#xff0c;可以通過簡單配置快速創建自己的 AI 應用。 本文將帶你用 FastGPT 搭建一個 英語單詞解釋 例句 的 AI 工具&#xff0c;輸入英文單詞后&#xff0c;輸出&#xff1a; 單詞…

【Mysql語句練習】

MysqlMysql語句練習一、建庫建表二、插入數據三、查詢Mysql語句練習 一、建庫建表 1、創建數據庫mydb11_stu&#xff0c;并使用數據庫 # 創建數據庫mydb11_stu mysql> create database mydb11_stu; Query OK, 1 row affected (0.00 sec) # 使用數據庫 mysql> use mydb1…

用Python Scrapy征服網絡爬蟲(反爬技術深入剖析)

目錄 第1章:Scrapy是個啥?為什么它是你爬蟲路上的最佳拍檔? 1.1 Scrapy的核心亮點 1.2 啥時候用Scrapy? 1.3 安裝Scrapy 第2章:動手寫你的第一個Scrapy爬蟲 2.1 創建Scrapy項目 2.2 定義數據結構(Items) 2.3 編寫爬蟲邏輯 2.4 運行爬蟲 2.5 小技巧:調試爬蟲 …

解決Electron透明窗口點擊不影響其他應用

遇到的問題&#xff1a;在electron透明窗口點擊&#xff0c;影響窗口下的應用接受不到點擊事件解決方案&#xff1a;CSSIgnoreMouseEvents實現原理&#xff1a;主進程默認設置禁用目標窗口鼠標事件&#xff08;禁用之后能檢測到mousemove&#xff09;&#xff0c;UI進程檢測頁面…

C# 泛型(Generics)詳解

泛型是 C# 2.0 引入的核心特性&#xff0c;它允許在定義類、接口、方法、委托等時使用未指定的類型參數&#xff0c;在使用時再指定具體類型。這種機制可以顯著提高代碼的復用性、類型安全性和性能。一、泛型的核心概念類型參數化泛型允許將類型作為 "參數" 傳遞給類…

Spring中存在兩個相同的Bean是否會報錯?

第一種情況&#xff1a;使用XML的方式設置Bean&#xff0c;這種情況在Spring啟動時就會報錯&#xff0c;因為ID在Spring中是Bean的唯一標識&#xff0c;Spring容器在啟動時會校驗唯一性&#xff0c;一旦發現重復就會報錯。但是如果是在兩個不同的XML文件中定義兩個相同的Bean&a…

【新手入門】Android基礎知識(一):系統架構

目 錄 Android 系統架構圖 1. 應用 2. JAVA API 框架 3. 原生 C/C 庫 4. Android 運行時&#xff08;Android Runtime&#xff09; 5. 硬件抽象層 (HAL) 6. Linux 內核 參考資料 Android 系統架構圖 Android底層內核空間以Linux Kernel作為基石&#xff0c;上層用戶空…

晶振電路的負載電容、電阻參數設計

系列文章目錄 文章目錄系列文章目錄前言一、晶振主要參數二、有源與無源區別三、無源晶振四、有源晶振總結前言 在硬件電路的設計中&#xff0c;晶振電路是必不可少的&#xff0c;它充當了整個電路心臟的作用。在這個晶振電路的設計中負載電容、電阻參數的選型是很重要的&…

電腦上練打字用什么軟件最好:10款打字軟件評測

現在孩子們在電腦上練打字&#xff0c;軟件一搜一大把&#xff0c;可好多家長和老師都犯愁&#xff1a;到底哪個管用&#xff1f;我帶200多個小學生練過字&#xff0c;前前后后試了十款軟件&#xff0c;今天就掏心窩子說說——有的看著花哨其實沒用&#xff0c;有的專業是專業但…

第五天~提取Arxml的模板信息

?? ARXML模板信息提取:解鎖汽車軟件的樂高魔法 在汽車電子的世界里,AUTOSAR(汽車開放系統架構)如同無形的神經系統,而ARXML文件正是承載這套神經系統藍圖的數字載體。當工程師們需要批量創建或修改ECU(電子控制單元)配置時,模板信息提取便成為了一項至關重要的核心技…

react+antd+vite自動引入組件、圖標等

前言&#xff1a;react在使用antd的時候&#xff0c;也是需要每個組件都在界面上按需引入的&#xff0c;那能不能自動生成&#xff0c;按需使用呢&#xff1f;我們這里說一說這個。安裝插件&#xff0c;組件按需引入unplugin-antd-resolverunplugin-auto-importnpm install unp…

深度學習與遙感入門(六)|輕量化 MobileNetV2 高光譜分類

系列回顧&#xff1a; &#xff08;一&#xff09;CNN 基礎&#xff1a;高光譜圖像分類可視化全流程 &#xff08;二&#xff09;HybridNet&#xff08;CNNTransformer&#xff09;&#xff1a;提升全局感受野 &#xff08;三&#xff09;GCN 入門實戰&#xff1a;基于光譜 KNN…

第4節 神經網絡從公式簡化到卷積神經網絡(CNN)的進化之路

?? 深度學習的"玄學進化史" 從CNN用卷積層池化層處理圖片,循環網絡RNN如何利用上下文處理序列數據,到注意力機制讓Transformer橫空出世,現在的大語言模型已經能寫能畫能決策!每個新技巧都讓人驚呼"還能這么玩",難怪說深度學習像玄學——但這玄學,…

最新去水印小程序系統 前端+后端全套源碼 多套模版 免授權(源碼下載)

最新去水印小程序系統 前端后端全套源碼 多套模版 免授權 源碼下載&#xff1a;https://download.csdn.net/download/m0_66047725/91669468 更多資源下載&#xff1a;關注我

TCP Socket 編程實戰:實現簡易英譯漢服務

前言&#xff1a;TCP&#xff08;傳輸控制協議&#xff09;是一種面向連接、可靠的流式傳輸協議&#xff0c;與 UDP 的無連接特性不同&#xff0c;它通過三次握手建立連接、四次揮手斷開連接&#xff0c;提供數據確認、重傳機制&#xff0c;保證數據有序且完整傳輸。本文將基于…

CF566C Logistical Questions Solution

Description 給定一棵 nnn 個點的樹 TTT&#xff0c;點有點權 aia_iai?&#xff0c;邊有邊權 www. 定義 dist?(u,v)\operatorname{dist}(u,v)dist(u,v) 為 u→vu\to vu→v 的簡單路徑上的邊權和. 找到一個節點 uuu&#xff0c;使得 W∑i1ndist?(u,i)32aiW\sum\limits_{i1}^n…

聊天室全棧開發-保姆級教程(Node.js+Websocket+Redis+HTML+CSS)

前言 最近在學習websocket全雙工通信&#xff0c;想要做一個聯機小游戲&#xff0c;做游戲之前先做一個聊天室練練手。 跟著本篇博客&#xff0c;可以從0搭建一個屬于你自己的聊天室。 準備階段 什么人適合學習本篇文章&#xff1f; 答&#xff1a;前端開發者&#xff0c;有一…

后臺管理系統-2-vue3之路由配置和Main組件的初步搭建布局

文章目錄1 路由搭建1.1 路由創建(router/index.js)1.2 路由組件(views/Main.vue)1.3 路由引入并注冊(main.js)1.4 路由渲染(App.vue)2 element-plus的應用2.1 完整引入并注冊(main.js)2.2 示例應用(App.vue)3 ElementPlusIconsVue的應用3.1 圖標引入并注冊(main.js)3.2 示例應用…

使用 Let’s Encrypt 免費申請泛域名 SSL 證書,并實現自動續期

使用 Let’s Encrypt 免費申請泛域名 SSL 證書&#xff0c;并實現自動續期 目錄 使用 Let’s Encrypt 免費申請泛域名 SSL 證書&#xff0c;并實現自動續期 &#x1f6e0;? 環境準備&#x1f4a1; 什么是 Let’s Encrypt&#xff1f;&#x1f9e0; Let’s Encrypt 證書頒發原…

一鍵自動化:Kickstart無人值守安裝指南

Kickstart文件實現自動安裝1. Kickstart文件概述1.1 定義與作用Kickstart文件是Red Hat系Linux發行版&#xff08;如RHEL、CentOS、Fedora&#xff09;用于實現自動化安裝的配置文件&#xff0c;采用純文本格式保存。它通過預設安裝參數的方式&#xff0c;使系統安裝過程無需人…