#include <bits/stdc++.h>
using namespace std;

int chessboard[54][54];
int main() {
	int n, m;
	cin >> n >> m;
	for(int i = 2; i < n + 2; i ++) {
		for(int j = 2; j < m + 2; j ++) {
			char c;
			cin >> c;
			chessboard[i][j] = c == '.' ? 0 : 1;
		}
	}
	
	int count = 0; 
	vector<pair<int, int>> positions;
	for(int i = 2; i < n + 2; i ++) {
		for(int j = 2; j < m + 2; j ++) {
			if(chessboard[i][j] != 1) continue;
			
			if(chessboard[i + 1][j] == 1) {positions.push_back({i - 1, j});positions.push_back({i + 2, j});}
			if(chessboard[i - 1][j] == 1){positions.push_back({i + 1, j});positions.push_back({i - 2, j});}
			if(chessboard[i][j + 1] == 1) {positions.push_back({i, j - 1});positions.push_back({i, j + 2});}
			if(chessboard[i][j - 1] == 1) {positions.push_back({i, j + 1});positions.push_back({i, j - 2});}
			if(chessboard[i + 1][j + 1] == 1) {positions.push_back({i - 1, j - 1});positions.push_back({i + 2, j + 2});}
			if(chessboard[i - 1][j - 1] == 1) {positions.push_back({i + 1, j + 1});positions.push_back({i - 2, j - 2});}
			if(chessboard[i - 1][j + 1] == 1) {positions.push_back({i - 1, j + 1});positions.push_back({i + 1, j - 1});} 
			if(chessboard[i + 1][j - 1] == 1) {positions.push_back({i + 1, j - 1});positions.push_back({i - 1, j + 1});}
			
			if(chessboard[i + 2][j + 2] == 1) positions.push_back({i + 1, j + 1});
			if(chessboard[i - 2][j - 2] == 1) positions.push_back({i - 1, j - 1});
			if(chessboard[i + 2][j - 2] == 1) positions.push_back({i + 1, j - 1});
			if(chessboard[i - 2][j + 2] == 1) positions.push_back({i - 1, j + 1});
			if(chessboard[i + 2][j] == 1) positions.push_back({i + 1, j});
			if(chessboard[i - 2][j] == 1) positions.push_back({i - 1, j});
			if(chessboard[i][j + 2] == 1) positions.push_back({i, j + 1});
			if(chessboard[i][j - 2] == 1) positions.push_back({i, j - 1});
		}
	}
	for(auto& position : positions) {
		if(position.first < 2 || position.second < 2 || position.first > n + 2 || position.second > m + 2) continue;
		if(chessboard[position.first][position.second] == 0) {
			chessboard[position.first][position.second] = 2;
			count ++;
		}
	}
	cout << count;
	return 0;
} 

1 comments

  • 1