A. Beautiful Matrix
程序员文章站
2022-06-24 20:09:48
A. Beautiful Matrix添加链接描述题目描述给你一个 5 x 5 的矩阵,且被 24 个 0 和 1 个 1 填充。矩阵以 1~5 作为行标和列标。同时拥有两种操作将相邻两行交换将相邻两列交换求将 1 移动到矩阵中心即(3,3)位置所需要的最小操作数分析将 1 移动到中心主要分为两步操作先将 1 移动到第 3 行,需要的步数为 1 的行标与 3 的差值再将 1 移动到第 3 列,需要的步数为 1 的列标与 3 的差值代码#include
A. Beautiful Matrix
题目描述
给你一个 5 x 5 的矩阵,且被 24 个 0 和 1 个 1 填充。矩阵以 1~5 作为行标和列标。同时拥有两种操作
- 将相邻两行交换
- 将相邻两列交换
求将 1 移动到矩阵中心即(3,3)位置所需要的最小操作数
分析
将 1 移动到中心主要分为两步操作
- 先将 1 移动到第 3 行,需要的步数为 1 的行标与 3 的差值
- 再将 1 移动到第 3 列,需要的步数为 1 的列标与 3 的差值
代码
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e2 + 10;
int a[6][6];
int main() {
ios::sync_with_stdio(false);
int x, y;
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
cin >> a[i][j];
if (a[i][j] == 1) x = i, y = j;
}
}
int ans = abs(x - 3) + abs(y - 3);
cout << ans << endl;
return 0;
}
本文地址:https://blog.csdn.net/w_weirdo/article/details/107885376