제출 #716189

#제출 시각아이디문제언어결과실행 시간메모리
716189penguin133Dango Maker (JOI18_dango_maker)C++17
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); int n, m, dp[3005][3005], fl[3005][3005], fr[3005][3005]; char G[3005][3005]; void solve(){ cin >> n >> m; for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin >> G[i][j]; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ fl[i][j] = fl[i][j-1]; if(j >= 3 && G[i][j] != G[i][j-1] && G[i][j] != G[i][j-2] && G[i][j-1] != G[i][j-2])fl[i][j] = max(fl[i][j], fl[i][j-3] + 1); //cout << fl[i][j] << ' '; } ///cout << '\n'; } for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ fr[j][i] = fr[j-1][i]; if(j >= 3 && G[j][i] != G[j-1][i] && G[j][i] != G[j-2][i] && G[j-1][i] != G[j-2][i])fr[j][i] = max(fr[j][i], fr[j][i-3] + 1); } } //for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cout << fr[i][j] << ' '; //cout << '\n'; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ dp[i][j] = dp[i-1][j-1]; dp[i][j] += max(fl[i][j] + fr[i-1][j], fl[i][j-1] + fr[i][j]); dp[i][j] = max({dp[i][j], dp[i-1][j], dp[i][j-1]}); //cout << dp[i][j] << ' '; } //cout << '\n'; } cout << dp[n][m]; } main(){ ios::sync_with_stdio(0);cin.tie(0); int tc = 1; //cin >> tc; for(int tc1=1;tc1<=tc;tc1++){ // cout << "Case #" << tc1 << ": "; solve(); } }

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

dango_maker.cpp:48:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   48 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...