37分求助(与题解思路相同,没看出错在哪里)
查看原帖
37分求助(与题解思路相同,没看出错在哪里)
539720
不要迫害我楼主2023/7/27 11:20
#include<bits/stdc++.h>
using namespace std;
char a[1010][1010];
int n,m,ans;
bool panduan(int x,int y){
	int cnt=0;
	if(a[x][y]=='#') cnt++;
	if(a[x+1][y]=='#') cnt++;
	if(a[x][y+1]=='#') cnt++;
	if(a[x+1][y+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 >> a[i][j];
	for(int i=1;i<n;i++)
		for(int j=1;j<m;j++)
			if(panduan(i,j)){
				cout << "Bad placement."; 
				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.";
	return 0;
}
2023/7/27 11:20
加载中...