旋转矩阵 题目描述: 给定两个 n × n 的数字矩阵,判断能否通过将其中任意一个矩阵顺时针旋转 0 度或 90 度或 180 度或270 度后,使得两个矩阵对应位置的元素完全相同。 如果满足则输出 "YES",否则输出 "NO"。 例如:n = 3,两个 3 × 3 的数字矩阵如下: 这里我们选择旋转矩阵 1,将矩阵 1 顺时针旋转 0 度、90 度、180 度以及 270 度后的结果分别如下: 不难发现,当矩阵 1 顺时针旋转 180 度后,两个矩阵对应位置的元素完全相同。 输入描述: 本题的每个测试点包含多组测试数据,格式如下: 第一行输入一个整数 T(1≤T≤100),表示测试数据组数; 接下来的 T 组数据: 每组数据的第一行输入一个整数 n(2≤n≤100),表示矩阵的大小; 接下来 n 行,每行输入 n 个整数(0≤整数≤9),表示矩阵 1 中的元素,整数之间以一个空格隔开; 再接下来 n 行,每行输入 n 个整数(0≤整数≤9),表示矩阵 2 中的元素,整数之间以一个空格隔开。 输出描述: 输出 T 行。其中第 i 行表示第 i 组测试数据的判断结果,如果能够通过旋转使得两个数字矩阵对应位置的元素完全相同,则输出 "YES",否则输出 "NO"。 样例输入: 2 3 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 2 1 0 0 1 2 0 0 2 样例输出: YES NO


正确答案:对矩阵B做0/90/180/270度顺时针旋转,任一度数与A完全相同则YES否则NO。旋转90度:new[i][j]=B[n-1-j][i],循环转4次逐一比较即可。
试卷来源:202503(第16届)蓝桥杯C++编程青少组(选拔赛_中高级)真题