矩阵中寻找好子矩阵

题目描述

小 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;

}

相关推荐
灵感__idea3 小时前
Hello 算法:贪心的世界
前端·javascript·算法
澈2075 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202425 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_5 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi5 小时前
前缀和差分
算法·图论
代码旅人ing5 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal5 小时前
常见 时间复杂度计算
c++·算法
6Hzlia5 小时前
【Hot 100 刷题计划】 LeetCode 48. 旋转图像 | C++ 矩阵变换题解
c++·leetcode·矩阵
不爱吃炸鸡柳6 小时前
单链表专题(完整代码版)
数据结构·算法·链表
CylMK7 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法