#include <bits/stdc++.h>
using namespace std;
#define ll int
#define vl vector<ll>
#define vb vector<bool>
#define pb push_back
#define ff(aa, bb, cc) for(ll aa = bb; aa < cc; aa++)
#define pll pair<ll, ll>
#define fi first
#define se second
#define ed "\n"
#define all(aaa) aaa.begin(), aaa.end()
#define rall(aaa) aaa.rbegin(), aaa.rend()
ll MOD = 1e9+7;
ll n, m;
bool check(ll i, ll j){
	return i >= 0 && j >= 0 && i < n && j < m;
}
int main(){
	cin >> n >> m;
	vector<string> arr(n);
	vl ans(5, 0);
	ff(i, 0, n){
		cin >> arr[i];
	}
	ff(i, 0, n){
		ff(j, 0, m){
			if(check(i+1, j+1) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+1][j+1] && arr[i][j] != '.'){
				ans[0]++;
			}
			if(check(i, j+3) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i][j+3] && arr[i][j] != '.'){
				ans[1]++;
			}
			if(check(i+3, j) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+3][j] && arr[i][j] != '.'){
				ans[1]++;
			}
			if(check(i-1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i-1][j+1] && arr[i][j] == arr[i-1][j+2] && arr[i][j] != '.'){
				ans[2]++;
			}
			if(check(i+2, j+1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+1][j+1] && arr[i][j] == arr[i+2][j+1] && arr[i][j] != '.'){
				ans[2]++;
			}
			if(check(i+1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i+1][j+1] && arr[i][j] == arr[i+1][j+2] && arr[i][j] != '.'){
				ans[3]++;
			}
			if(check(i+2, j-1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+1][j-1] && arr[i][j] == arr[i+2][j-1] && arr[i][j] != '.'){
				ans[3]++;
			}
			if(check(i-1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i-1][j+1] && arr[i][j] != '.'){
				ans[4]++;
			}
			if(check(i+1, j+2) && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i+1][j+1] && arr[i][j] != '.'){
				ans[4]++;
			}
			if(check(i+2, j+1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+1][j+1] && arr[i][j] != '.'){
				ans[4]++;
			}
			if(check(i+2, j-1) && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+1][j-1] && arr[i][j] != '.'){
				ans[4]++;
			}
		}
	}
	ff(i, 0, 5){
		cout << ans[i] << ed;
	}
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |