字符矩形
描述
给定一个n×m的只含有.和的矩阵。 矩阵中形成一些不重叠的长方形。它们不在边缘或顶点接触。 求长方形有多少个?
输入
第一行:两个正整数n和m。 以下n行:表示题目描述中的矩阵。矩阵只含有.和*。
输出
一行一个非负整数,你的答案。
完整代码如下
#include <bits/stdc++.h>
#define F(a,b,c)for(int a=b;a<=c;a++)
using namespace std;
int n,m,k;
char x;
bool q[9001][9001];
int main(){
cin>>n>>m;
F(i,1,n)F(j,1,m){
cin>>x;
if(x=='*')q[i][j]++;
}
F(i,1,n)F(j,1,m)if(q[i][j]&&!q[i+1][j+1]&&!q[i+1][j]&&!q[i][j+1])k++;
cout<<k;
return 0;
}
给定一个由'.'和'*'组成的n×m矩阵,其中'*'表示矩形边界,任务是计算矩阵中不重叠且不接触边缘或顶点的矩形数量。程序通过遍历矩阵并检测矩形边界来实现计数。
637

被折叠的 条评论
为什么被折叠?



