文章

19

粉丝

69

获赞

30

访问

18.0k

头像
找出顺时针90度的索引变化规律就可以知道全部规律
P1377 北京航空航天大学机试题
发布于2023年8月9日 10:53
阅读数 1.2k

90度的规律:tempMatrix[j][n - i - 1] = matrix1[i][j]

其余角度的可以看成多次90度旋转

时间复杂度为O(n^2)

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 9;

bool isEqual(int matrix1[MAXN][MAXN], int matrix2[MAXN][MAXN], int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (matrix1[i][j] != matrix2[i][j])
            {
                return false;
            }
        }
    }
    return true;
}

int calDegree(int matrix1[MAXN][MAXN], int matrix2[MAXN][MAXN], int n)
{
    if (isEqual(matrix1, matrix2, n))
    {
        return 0; // 0度旋转
    }

    int tempMatrix[MAXN][MAXN];

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            tempMatrix[j][n - i - 1] = matrix1[i][j];
        }
    }
    if (isEqual(matrix2, tempMatrix, n))
    {
        return 90; // 90度旋转
    }

    for (int i = 0; i < n; i++)
    {
        for (int j ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发