1 条题解
-
0
G4016 [GESP202503 四级] 二阶矩阵 题解
知识点:二维数组、枚举、矩阵。
解题思路
枚举所有相邻2×2子矩阵,判断主对角乘积是否等于副对角乘积,满足则计数。
为什么正确
每个相邻2×2矩阵对应唯一左上角,判定公式正是题目要求。
易错点
只能取相邻行列;不足两行或两列时答案为0,乘积类型应遵守题目数值范围。
复杂度
时间O(nm),空间O(nm)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n,m; cin>>n>>m; vector<vector<int>>a(n,vector<int>(m)); for(auto &row:a)for(int &x:row)cin>>x; int ans=0; for(int i=0;i+1<n;i++)for(int j=0;j+1<m;j++)ans+=a[i][j]*a[i+1][j+1]==a[i+1][j]*a[i][j+1]; cout<<ans; }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用8个自行生成的测试点。
- 1