Submission #153461

#TimeUsernameProblemLanguageResultExecution timeMemory
153461AlexLuchianovDango Maker (JOI18_dango_maker)C++14
13 / 100
4 ms380 KiB
#include <iostream> using namespace std; #define ll long long #define MIN(a, b) (((a) < (b)) ? (a) : (b)) #define MAX(a, b) (((a) < (b)) ? (b) : (a)) int const nmax = 3000; char v[5 + nmax][5 + nmax]; int seen[5 + nmax][5 + nmax]; bool isdown(int x, int y){ return v[x][y] == 'R' && v[x + 1][y] == 'G' && v[x + 2][y] == 'W'; } bool isright(int x, int y){ return v[x][y] == 'R' && v[x][y + 1] == 'G' && v[x][y + 2] == 'W'; } int main() { int n, m; cin >> n >> m; for(int i = 1;i <= n; i++) for(int j = 1;j <= m; j++) cin >> v[i][j]; int result = 0; for(int i = 1;i <= n; i++) for(int j = 1;j <= m; j++) { if(isright(i, j) == 1){ result++; v[i][j] = v[i][j + 1] = v[i][j + 2] = 0; } else if(isdown(i, j) == 1){ if(isright(i + 1, j - 1) == 1 && isright(i + 2, j - 2) == 1 && isdown(i + 1, j - 1) == 0) continue; else{ result++; v[i][j] = v[i + 1][j] = v[i + 2][j] = 0; } } } cout << result; return 0; } /* 4 4 WWRW WRGW RGWW WWWW */ /* 5 4 WWRW WRGW RGWW GWWW WWWW */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...