Symmetric Matrix
题目连结
找是不是对称矩阵(由中心点来镜射)不可以是负的解题
a1 a2 a3b1 b2 b3c1 c2 c3
只要比较阵列的一半就好
如下图从a1开始(与c3比)
a1 x xx x xx x c3
再来是b2 与 b3
x x xb1 x b3x x x
最后是c1 与 a3
x x a3x x xc1 x x
code
#include <iostream>#include <vector>#include <algorithm>#define ll long longusing namespace std;int main(int argc, char const *argv[]){ int t, count = 1; cin >> t; while (t--) { int n; char s; cin >> s >> s >> n; int flag = 0; vector<vector<ll>> matrix(n, vector<ll>(n, 0)); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> matrix[i][j]; if (matrix[i][j] < 0) { flag = 1; } } } int mid = n / 2 - 1; for (int i = 0; i < n; i++) { for (int j = 0; j <= mid; j++) { if (matrix[i][j] != matrix[n - i - 1][n - j - 1]) { flag = 1; break; } } } cout << "Test #" << count << ": "; count++; if (flag == 0) { cout << "Symmetric." << endl; } else { cout << "Non-symmetric." << endl; } } return 0;}