矩阵中寻找好子矩阵

题目描述

小 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

本题是一道比较基础的模拟题

按照提议模拟即可

重要代码

for(int i=0;i<n-1;i++)

{

for(int j=0;j<m-1;j++)

{

if(a[i][j]*a[i+1][j+1]==a[i+1][j]*a[i][j+1])

{

sum++;

}

}

}

总代码

#include <bits/stdc++.h>

using namespace std;

int n,a[501][501],m,sum;

int main()

{

cin>>n>>m;

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

cin>>a[i][j];

}

}

for(int i=0;i<n-1;i++)

{

for(int j=0;j<m-1;j++)

{

if(a[i][j]*a[i+1][j+1]==a[i+1][j]*a[i][j+1])

{

sum++;

}

}

}

cout<<sum;

return 0;

}

相关推荐
YuTaoShao20 小时前
【LeetCode 每日一题】1458. 两个子序列的最大点积——(解法三)状态压缩
算法·leetcode·职场和发展
位东风20 小时前
希尔排序(Shell Sort)详解
算法·排序算法
AI科技星20 小时前
光速飞行器动力学方程的第一性原理推导、验证与范式革命
数据结构·人工智能·线性代数·算法·机器学习·概率论
橘颂TA20 小时前
【剑斩OFFER】算法的暴力美学——leetCode 946 题:验证栈序列
c++·算法·leetcode·职场和发展·结构与算法
闻缺陷则喜何志丹21 小时前
【状态机动态规划】3686. 稳定子序列的数量|1969
c++·算法·动态规划·力扣·状态机动态规划
寻星探路21 小时前
【算法通关】双指针技巧深度解析:从基础到巅峰(Java 最优解)
java·开发语言·人工智能·python·算法·ai·指针
wen__xvn21 小时前
力扣第 484 场周赛
算法·leetcode·职场和发展
一碗姜汤21 小时前
【统计基础】从线性代数的直观角度理解SVD奇异值分解
线性代数
好奇龙猫21 小时前
【大学院-筆記試験練習:线性代数和数据结构(5)】
数据结构·线性代数