洛谷P1191 矩形

这是一道关于计算矩阵中白色矩形数量的编程题。给定一个n×n的矩阵,矩阵由白色('WWW')和黑色('BBB')格子组成,任务是求出白色矩形的总数。输入包括矩阵的大小n和矩阵的内容,输出为白色矩形的数量。题目对n的范围有所限制,并提供了利用前缀和的方法来解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

给出一个n×nn \times nn×n的矩阵,矩阵中,有些格子被染成白色,有些格子被染成黑色,现要求矩阵中白色矩形的数量

输入输出格式

输入格式:

 

第一行,一个整数nnn,表示矩形的大小。

接下来nnn行,每行nnn个字符,这些字符为“WWW”或“BBB”。其中“WWW”表示白格,“BBB”表示黑格。

 

输出格式:

 

一个正整数,为白色矩形数量

 

输入输出样例

输入样例#1: 复制

4
WWBW
BBWB
WBWW
WBWB

输出样例#1: 复制

15

说明

对于30%30\%30%的数据,n≤50n ≤ 50n≤50;

对于100%100\%100%的数据,n≤150n ≤ 150n≤150;

n^4做法:利用前缀和


#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <cmath>
using namespace std;
#define MAX_N 150
int g[MAX_N + 5][MAX_N + 5] = {0};
int f[MAX
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值