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
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论