840. 矩阵中的幻方

840. 矩阵中的幻方


题目链接:840. 矩阵中的幻方

代码如下:

cpp 复制代码
class Solution {
public:
	int numMagicSquaresInside(vector<vector<int>>& grid) {
		int m = grid.size(),n = grid[0].size();
		int res = 0;

		for (int i = 0;i < m - 2;i++) {
			for (int j = 0;j < n-2;j++) {
				 if (grid[i + 1][j + 1] != 5) {
                    continue;
                }

				int mask = 0;
				int r_sum[3]{};
				int c_sum[3]{};
				for (int r = 0;r < 3;r++) {
					for (int c = 0;c < 3;c++) {
						int x = grid[i + r][j + c];
						mask |= 1 << x;
						r_sum[r] += x;
						c_sum[c] += x;
					}
				}

				if (mask == (1 << 10) - 2 &&
					r_sum[0] == 15 && r_sum[1] == 15 &&
					c_sum[0] == 15 && c_sum[1] == 15) {
					res++;
				}
			}
		}

		return res;
	}
};
相关推荐
仰泳的熊猫8 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
Thera77712 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
君义_noip13 小时前
信息学奥赛一本通 1952:【10NOIP普及组】三国游戏 | 洛谷 P1199 [NOIP 2010 普及组] 三国游戏
c++·信息学奥赛·csp-s
旖-旎14 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
顶点多余14 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql
汉克老师15 小时前
GESP2026年3月认证C++四级( 第二部分判断题(1-10))
c++·指针·函数重载·文件操作·数组·gesp4级·gesp四级
khddvbe15 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
wWYy.16 小时前
STL:list
开发语言·c++
小比特_蓝光17 小时前
vector模拟实现
c++
咱就是说不配啊17 小时前
3.19打卡day33
数据结构·c++·算法