제출 #204079

#제출 시각아이디문제언어결과실행 시간메모리
204079KastandaDango Maker (JOI18_dango_maker)C++11
100 / 100
247 ms9848 KiB
// In The Name Of The Queen #include<bits/stdc++.h> using namespace std; const int N = 3003; int n, m, cnt, dp[N][2]; bool M[N][N]; char S[N][N]; inline bool Horz(int i, int j) { if (M[i][j] || M[i][j + 1] || M[i][j + 2]) return 0; return (S[i][j] == 'R' && S[i][j + 1] == 'G' && S[i][j + 2] == 'W'); } inline bool Vert(int i, int j) { if (M[i][j] || M[i + 1][j] || M[i + 2][j]) return 0; return (S[i][j] == 'R' && S[i + 1][j] == 'G' && S[i + 2][j] == 'W'); } inline void MakeHorz(int i, int j) { M[i][j] = M[i][j + 1] = M[i][j + 2] = 1; } inline void MakeVert(int i, int j) { M[i][j] = M[i + 1][j] = M[i + 2][j] = 1; } int main() { scanf("%d%d", &n, &m); for (int i = 0; i < n; i ++) scanf("%s", &S[i]); for (int d = 0; d < n + m - 1; d ++) { int l = max(d - m + 1, 0); int r = min(d, n - 1); memset(dp, 0, sizeof(dp)); for (int i = l; i <= r; i ++) { dp[i][0] = max((i > 0 ? dp[i - 1][0] : 0), (i > 1 ? dp[i - 2][1] : 0)); if (Horz(i, d - i)) dp[i][0] = max(dp[i][0], (i > 0 ? dp[i - 1][0] : 0) + 1); dp[i][1] = max(dp[i][0], (i > 0 ? dp[i - 1][1] : 0)); if (Vert(i, d - i)) dp[i][1] = max(dp[i][1], (i > 0 ? dp[i - 1][1] : 0) + 1); } cnt += dp[r][1]; } return !printf("%d\n", cnt); }

컴파일 시 표준 에러 (stderr) 메시지

dango_maker.cpp: In function 'int main()':
dango_maker.cpp:32:26: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[3003]' [-Wformat=]
         scanf("%s", &S[i]);
                     ~~~~~^
dango_maker.cpp:30:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~
dango_maker.cpp:32:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s", &S[i]);
         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...