이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//#pragma GCC optimize("O3")
//#pragma GCC target("avx2")
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <unordered_map>
using namespace std;
#define fastInp cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0);
typedef long long ll;
typedef long double ld;
const ll SZ = 3050;
char grid[SZ][SZ];
int main() {
fastInp;
ll n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
string s;
cin >> s;
for (int j = 0; j < m; j++) grid[i][j] = s[j];
}
ll ans = 0;
for (int x = 0; x < n + m + 2; x++) {
for (int y = 0; y < n + m + 2; y++) {
ll i = x - y;
ll j = y;
if (!(i >= 0 && j >= 0 && i < n && j < m)) continue;
if (grid[i][j] == 'W') {
if (j >= 2 && grid[i][j - 2] == 'R' && grid[i][j - 1] == 'G') {
grid[i][j] = '0';
grid[i][j - 1] = '0';
grid[i][j - 2] = '0';
ans++;
continue;
}
if (i >= 2 && grid[i - 2][j] == 'R' && grid[i - 1][j] == 'G') {
grid[i][j] = '0';
grid[i - 1][j] = '0';
grid[i - 2][j] = '0';
ans++;
continue;
}
}
}
}
cout << ans;
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... |