Submission #780719

#TimeUsernameProblemLanguageResultExecution timeMemory
780719Trisanu_DasDango Maker (JOI18_dango_maker)C++17
100 / 100
129 ms15436 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 3000; int N, M; char A[MAXN+10][MAXN+10]; int dp[MAXN+10][3], ans; int main() { int i, j; scanf("%d%d", &N, &M); for(i=1; i<=N; i++) scanf("%s", A[i]+1); for(i=2; i<=N+M; i++) { int s=max(1, i-N), e=min(M, i-1); memset(dp, 0, sizeof(dp)); for(j=s; j<=e; j++) { int x=j, y=i-j; dp[x][0]=max(dp[x-1][0], max(dp[x-1][1], dp[x-1][2])); if(A[y-1][x]=='R' && A[y][x]=='G' && A[y+1][x]=='W') dp[x][1]=max(dp[x-1][0], dp[x-1][1])+1; if(A[y][x-1]=='R' && A[y][x]=='G' && A[y][x+1]=='W') dp[x][2]=max(dp[x-1][0], dp[x-1][2])+1; } ans+=max(dp[e][0], max(dp[e][1], dp[e][2])); } printf("%d", ans); }

Compilation message (stderr)

dango_maker.cpp: In function 'int main()':
dango_maker.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |     scanf("%d%d", &N, &M);
      |     ~~~~~^~~~~~~~~~~~~~~~
dango_maker.cpp:19:30: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |     for(i=1; i<=N; i++) scanf("%s", A[i]+1);
      |                         ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...