《B4264 [GESP202503 四级] 二阶矩阵》

题目背景

对应的选择、判断题:试题 - GESP 202503 C++ 四级 - 洛谷有题

题目描述

小 A 有一个 n 行 m 列的矩阵 A。

小 A 认为一个 2×2 的矩阵 D 是好的,当且仅当 D1,1​×D2,2​=D1,2​×D2,1​。其中 Di,j​ 表示矩阵 D 的第 i 行第 j 列的元素。

小 A 想知道 A 中有多少个好的子矩阵。

输入格式

第一行,两个正整数 n,m。

接下来 n 行,每行 m 个整数 Ai,1​,Ai,2​,...,Ai,m​。

输出格式

一行,一个整数,表示 A 中好的子矩阵的数量。

输入输出样例

输入 #1复制

复制代码
3 4
1 2 1 0
2 4 2 1
0 3 3 0

输出 #1复制

复制代码
2

说明/提示

样例解释

样例中好的子矩阵如下:

数据范围

对于所有测试点,保证 1≤n≤500,1≤m≤500,−100≤Ai,j​≤100

代码实现:

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n,m;
    cin>>n>>m;
    vector<vector<int> > a(n,vector<int>(m));
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cin>>a[i][j];
        }
    }
    long long ans=0;
    for(int i=0;i<=n-2;i++)
    {
        for(int j=0;j<=m-2;j++)
        {
            long long d11 = a[i][j];
            long long d12 = a[i][j+1];
            long long d21 = a[i+1][j];
            long long d22 = a[i+1][j+1];
            if(d11 * d22 == d12 * d21)
                ans++;
        }
    }
    cout<<ans<<endl;
    return 0;
}
相关推荐
万法若空5 分钟前
【数学-简单数论】同余中的逆
线性代数·算法
凯瑟琳.奥古斯特1 小时前
力扣1009补码解法C++实现
开发语言·c++·算法·leetcode·职场和发展
KaMeidebaby1 小时前
卡梅德生物技术快报|蛋白的叠氮基修饰:实操解析:核酸模板耦合蛋白的叠氮基修饰实现靶蛋白定点共价标记
前端·人工智能·物联网·算法·百度
通信仿真爱好者2 小时前
第【60期】--大规模MIMO系统信号检测算法误码率比较 --matlab完整代码+参考文章
算法·matlab·mimo·信号检测
AI科技星2 小时前
全域谱分析:无穷维超复数信息场分形统一场论——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·python·算法·金融·乖乖数学·全域数学
先吃饱再说3 小时前
为什么堆能 O(log n) 插入?拆解完全二叉树的数组魔法
算法·排序算法
留白_4 小时前
【决策树】泰坦尼克号生存预测
算法·决策树·机器学习
hqzing4 小时前
鸿蒙 PC 底层开发技术详解(七):二进制自签名算法的实现
算法·华为·harmonyos
AI科技星4 小时前
超复数全域经济周期场与信息谱场——金融与密码学底层理论重构《0·1·∞三元一体全域超复数统一场论》系列全集(六一字不漏完整合订终版)
人工智能·算法·金融·密码学·拓扑学·乖乖数学·全域数学
Let's Chat Coding4 小时前
哈希算法:密码学的基础构件
算法·哈希算法