Submission #388169

#TimeUsernameProblemLanguageResultExecution timeMemory
388169blueDango Maker (JOI18_dango_maker)C++17
Compilation error
0 ms0 KiB
#include <iostream> using namespace std; long long dpV[3000][3000]; long long dpH[3000][3000]; char grid[3000][3000]; long long N, M; bool vert(long long i, long long j) { if(i == 0 || i == N-1) return 0; if(grid[i-1][j] != 'R') return 0; if(grid[i][j] != 'G') return 0; if(grid[i+1][j] != 'W') return 0; return 1; } bool horiz(long long i, long long j) { if(j == 0 || j == M-1) return 0; if(grid[i][j-1] != 'R') return 0; if(grid[i][j] != 'G') return 0; if(grid[i][j+1] != 'W') return 0; return 1; } long long main() { cin >> N >> M; for(long long i = 0; i < N; i++) for(long long j = 0; j < M; j++) cin >> grid[i][j]; long long res = 0; for(long long I = 0; I < N; I++) { dpH[I][0] = 0; dpV[I][0] = vert(I, 0); for(long long s = 0; I-s >= 0 && s < M; s++) { long long i = I-s; long long j = s; dpH[i][j] = max(dpH[i+1][j-1], dpV[i+1][j-1]); dpH[i][j] = max(dpH[i][j], dpH[i+1][j-1] + horiz(i, j)); dpV[i][j] = max(dpH[i+1][j-1], dpV[i+1][j-1]); dpV[i][j] = max(dpV[i][j], dpV[i+1][j-1] + vert(i, j)); } } for(long long J = 0; J < M; J++) { dpV[N-1][J] = 0; dpH[N-1][J] = horiz(N-1, J); for(long long s = 0; N-1-s >= 0 && J+s < M; s++) { long long i = N-1-s; long long j = J+s; dpH[i][j] = max(dpH[i+1][j-1], dpV[i+1][j-1]); dpH[i][j] = max(dpH[i][j], dpH[i+1][j-1] + horiz(i, j)); dpV[i][j] = max(dpH[i+1][j-1], dpV[i+1][j-1]); dpV[i][j] = max(dpV[i][j], dpV[i+1][j-1] + vert(i, j)); } } for(long long j = 0; j < M; j++) res += max(dpV[0][j], dpH[0][j]); for(long long i = 1; i < N; i++) res += max(dpV[i][M-1], dpH[i][M-1]); cout << res << '\n'; }

Compilation message (stderr)

cc1plus: error: '::main' must return 'int'