#include<bits/stdc++.h>
using namespace std;
const int MAXN = 3005;
int n, m;
int dp[2][MAXN];
char a[MAXN][MAXN];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
cin >> a[i][j];
}
}
int res = 0;
for (int peal = 1; peal <= n + m; peal++)
{
memset(dp, 0, sizeof dp);
int cur = 0;
for (int j = min(m, peal - 1), i = peal - j; j >= 1 and i <= n; j--, i++)
{
dp[j][0] = max(dp[j + 1][0], dp[j + 3][1] + (a[i][j] == 'R' and a[i][j + 1] == 'G' and a[i][j + 2] == 'W'));
dp[j][1] = max(dp[j + 1][1], dp[j + 1][0] + (a[i][j] == 'R' and a[i + 1][j] == 'G' and a[i + 2][j] == 'W'));
cur = max(dp[j][0], dp[j][1]);
}
res += cur;
}
cout << res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |