矩阵的翻转与旋转

#include <bits/stdc++.h>

using namespace std;

vector<vector<int>>flipleftright(vector<vector<int>>m) {

for (auto &row : m) {

reverse(row.begin(), row.end());

}

return m;

}

vector<vector<int>>flipupdown(vector<vector<int>>m) {

reverse(m.begin(), m.end());

return m;

}

vector<vector<int>>rotates(vector<vector<int>>m) {

if (m.empty()) {

return m;

}

int cols = m[0].size();

int rows = m.size();

vector<vector<int>>transm(cols, vector<int>(rows));

for (int i = 0; i < rows; i++) {

for (int j = 0; j < cols; j++) {

transm[j][i] = m[i][j];

}

}

return flipleftright(transm);

}

vector<vector<int>>rotaten(vector<vector<int>>m) {

if (m.empty()) {

return m;

}

vector<vector<int>>newm = flipleftright(m);

int cols = newm[0].size();

int rows = newm.size();

vector<vector<int>>transm(cols, vector<int>(rows));

for (int i = 0; i < rows; i++) {

for (int j = 0; j < cols; j++) {

transm[j][i] = newm[i][j];

}

}

return transm;

}

int main() {

int m, n;

cin >> m >> n;

vector<vector<int>>a(m, vector<int>(n));

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

cin >> a[i][j];

}

}

string s;

cin >> s;

for (size_t i = 0; i < s.size(); i++) {

if (s[i] == 'A') {

a = rotates(a);

} else if (s[i] == 'B') {

a = rotaten(a);

} else if (s[i] == 'C') {

a = flipleftright(a);

} else if (s[i] == 'D') {

a = flipupdown(a);

}

}

for (size_t i = 0; i < a.size(); i++) {

for (size_t j = 0; j < a[0].size(); j++) {

cout << a[i][j] << " ";

}

cout << endl;

}

return 0;

}

相关推荐
C雨后彩虹6 小时前
任务最优调度
java·数据结构·算法·华为·面试
少林码僧8 小时前
2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
人工智能·python·算法·机器学习·ai·数据挖掘
钱彬 (Qian Bin)8 小时前
项目实践15—全球证件智能识别系统(切换为Qwen3-VL-8B-Instruct图文多模态大模型)
人工智能·算法·机器学习·多模态·全球证件识别
微露清风9 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
Niuguangshuo9 小时前
EM算法详解:解密“鸡生蛋“的机器学习困局
算法·机器学习·概率论
a3158238069 小时前
Android 大图显示策略优化显示(一)
android·算法·图片加载·大图片
CSARImage9 小时前
C++读取exe程序标准输出
c++
一只小bit9 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
一条大祥脚10 小时前
26.1.9 轮廓线dp 状压最短路 构造
数据结构·c++·算法
鲨莎分不晴10 小时前
反向传播的数学本质:链式法则与动态规划的完美共舞
算法·动态规划