当前位置: 移动技术网 > IT编程>开发语言>Java > A. Beautiful Matrix

A. Beautiful Matrix

2020年08月10日  | 移动技术网IT编程  | 我要评论
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/std

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网