#include <bits/stdc++.h>
#define F first
#define S second
#define ll long long
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin>>n>>m;
vector<vector<short>> a(n, vector<short> (m)), b(n, vector<short> (m));
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
char c;
cin>>c;
if(c=='R') a[i][j]=1;
if(c=='G') a[i][j]=2;
if(c=='W') a[i][j]=3;
}
}
int ans = 0;
for(int i = 0; i < n; i++) {
int cnt[4];
cnt[1]=0, cnt[2]=0, cnt[3]=0;
for(int j = 0; j < m; j++) {
b[i][j]=a[i][j];
cnt[a[i][j]]++;
if(j>2) {
cnt[a[i][j-3]]--;
}
if(j>=2) {
if(cnt[1]==cnt[2]&&cnt[1]==cnt[3]&&cnt[1]==1) {
if(j>2)
if(b[i][j-3]==0) continue;
ans++;
for(int k = 0; k < 3; k++) {
if(j-k>=0)
b[i][j-k]=0;
}
}
}
}
}
a=b;
for(int i = 0; i < m; i++) {
int cnt[4];
cnt[1]=0, cnt[2]=0, cnt[3]=0;
for(int j = 0; j < n; j++) {
cnt[a[j][i]]++;
if(j>2) {
cnt[a[j-3][i]]--;
}
if(j>=2) {
if(cnt[1]==cnt[2]&&cnt[1]==cnt[3]&&cnt[1]==1) {
if(j>2)
if(b[j-3][i]==0) continue;
ans++;
// cout<<i<<' '<<j<<'\n';
for(int k = 0; k < 3; k++) {
if(j-k>=0)
b[j-k][i]=0;
}
}
}
}
}
cout<<ans<<'\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |