字符矩形
描述
给定一个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;
}