标题不要在意捏。
#include<bits/stdc++.h>
using namespace std;
bool a[1001][1001];
int n,m,ans;
char c;
bool ljp(int i,int j) {
int cnt = 0;
if(a[i][j]=='#') cnt++;
if(a[i+1][j]=='#') cnt++;
if(a[i][j+1]=='#') cnt++;
if(a[i+1][j+1]=='#') cnt++;
return (cnt==3);
}
int main() {
cin>>n>>m;
for(int i = 1; i<=n; i++){
for(int j = 1; j<=m; j++){
cin>>c;
a[i][j] = (c=='#');
}
}
for(int i = 1; i<=n-1; i++){
for(int j = 1; j<=m-1; j++){
if(ljp(i,j)) {
cout<<"Bad placement"<<endl;
return 0;
}
}
}
for(int i = 1; i<=n; i++){
for(int j = 1; j<=m; j++){
if(a[i][j]&&!a[i-1][j]&&!a[i][j-1]) ans++;
}
}
cout<<"There are "<<ans<<" ships."<<endl;
return 0;
}