Submission #1692498
Source Code Expand
#include <bits/stdc++.h>
#define For(i, j, k) for(int i = j; i <= k; i++)
#define Forr(i, j, k) for(int i = j; i >= k; i--)
using namespace std;
const int N = 105;
short n, m, X, Y;
short dp[N][N][N][N], cntx[N][N], cnty[N][N];
char S[N][N];
inline void chkmax(short& x, short v){
x = x > v ? x : v;
}
int main(){
scanf("%hd%hd", &n, &m);
For(i, 1, n) scanf("%s", S[i] + 1);
For(i, 1, n) For(j, 1, m) cntx[i][j] = cntx[i][j - 1] + (S[i][j] == 'o');
For(i, 1, m) For(j, 1, n) cnty[i][j] = cnty[i][j - 1] + (S[j][i] == 'o');
For(i, 1, n) For(j, 1, m) if(S[i][j] == 'E') X = i, Y = j;
short ans = 0;
For(a, 0, n) For(b, 0, m) Forr(c, n, a) Forr(d, m, b){
short v = dp[a][b][c][d];
short r = min(b + Y, d), l = max(d - (m + 1 - Y), b),
t = min(a + X, c), s = max(c - (n + 1 - X), a);
// printf("dp[%d][%d][%d][%d] = %d [%d, %d] [%d, %d]\n", a, b, c, d, v, l, r, s, t);
short nx = X + a + 1;
if(l <= r && nx <= c) chkmax(dp[a + 1][b][c][d], cntx[nx][r] - cntx[nx][l] + v);
nx = c - (n + 1 - X);
if(l <= r && nx > a) chkmax(dp[a][b][c - 1][d], cntx[nx][r] - cntx[nx][l] + v);
nx = Y + b + 1;
if(s <= t && nx <= d) chkmax(dp[a][b + 1][c][d], cnty[nx][t] - cnty[nx][s] + v);
nx = d - (m + 1 - Y);
if(s <= t && nx > b) chkmax(dp[a][b][c][d - 1], cnty[nx][t] - cnty[nx][s] + v);
chkmax(ans, v);
}
printf("%hd\n", ans);
return 0;
}
Submission Info
Submission Time |
|
Task |
E - Salvage Robots |
User |
dy0607 |
Language |
C++14 (GCC 5.4.1) |
Score |
1400 |
Code Size |
1418 Byte |
Status |
AC |
Exec Time |
311 ms |
Memory |
229632 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:20:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%hd%hd", &n, &m);
^
./Main.cpp:21:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
For(i, 1, n) scanf("%s", S[i] + 1);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
1400 / 1400 |
Status |
|
|
Set Name |
Test Cases |
Sample |
0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
All |
0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt, 1_64.txt, 1_65.txt, 1_66.txt, 1_67.txt, 1_68.txt, 1_69.txt, 1_70.txt, 1_71.txt |
Case Name |
Status |
Exec Time |
Memory |
0_00.txt |
AC |
2 ms |
6400 KB |
0_01.txt |
AC |
2 ms |
4352 KB |
0_02.txt |
AC |
2 ms |
6400 KB |
0_03.txt |
AC |
3 ms |
10496 KB |
1_00.txt |
AC |
2 ms |
4352 KB |
1_01.txt |
AC |
2 ms |
4352 KB |
1_02.txt |
AC |
2 ms |
4352 KB |
1_03.txt |
AC |
2 ms |
4352 KB |
1_04.txt |
AC |
311 ms |
227968 KB |
1_05.txt |
AC |
232 ms |
229632 KB |
1_06.txt |
AC |
236 ms |
229632 KB |
1_07.txt |
AC |
228 ms |
229632 KB |
1_08.txt |
AC |
172 ms |
229376 KB |
1_09.txt |
AC |
185 ms |
211200 KB |
1_10.txt |
AC |
227 ms |
227584 KB |
1_11.txt |
AC |
180 ms |
219392 KB |
1_12.txt |
AC |
169 ms |
217088 KB |
1_13.txt |
AC |
125 ms |
172032 KB |
1_14.txt |
AC |
178 ms |
221440 KB |
1_15.txt |
AC |
197 ms |
220672 KB |
1_16.txt |
AC |
140 ms |
196608 KB |
1_17.txt |
AC |
170 ms |
209024 KB |
1_18.txt |
AC |
193 ms |
215296 KB |
1_19.txt |
AC |
179 ms |
221312 KB |
1_20.txt |
AC |
159 ms |
198784 KB |
1_21.txt |
AC |
186 ms |
219264 KB |
1_22.txt |
AC |
204 ms |
219392 KB |
1_23.txt |
AC |
179 ms |
215296 KB |
1_24.txt |
AC |
207 ms |
219392 KB |
1_25.txt |
AC |
179 ms |
227456 KB |
1_26.txt |
AC |
197 ms |
223360 KB |
1_27.txt |
AC |
203 ms |
227584 KB |
1_28.txt |
AC |
173 ms |
227328 KB |
1_29.txt |
AC |
203 ms |
223488 KB |
1_30.txt |
AC |
133 ms |
198656 KB |
1_31.txt |
AC |
207 ms |
229632 KB |
1_32.txt |
AC |
189 ms |
215296 KB |
1_33.txt |
AC |
181 ms |
225408 KB |
1_34.txt |
AC |
229 ms |
229632 KB |
1_35.txt |
AC |
202 ms |
227584 KB |
1_36.txt |
AC |
208 ms |
227584 KB |
1_37.txt |
AC |
206 ms |
217344 KB |
1_38.txt |
AC |
210 ms |
221440 KB |
1_39.txt |
AC |
179 ms |
225280 KB |
1_40.txt |
AC |
194 ms |
229376 KB |
1_41.txt |
AC |
185 ms |
227200 KB |
1_42.txt |
AC |
150 ms |
212864 KB |
1_43.txt |
AC |
172 ms |
221056 KB |
1_44.txt |
AC |
157 ms |
202624 KB |
1_45.txt |
AC |
181 ms |
223232 KB |
1_46.txt |
AC |
198 ms |
225152 KB |
1_47.txt |
AC |
173 ms |
219136 KB |
1_48.txt |
AC |
173 ms |
225152 KB |
1_49.txt |
AC |
192 ms |
227200 KB |
1_50.txt |
AC |
162 ms |
221056 KB |
1_51.txt |
AC |
168 ms |
221184 KB |
1_52.txt |
AC |
176 ms |
216960 KB |
1_53.txt |
AC |
193 ms |
227328 KB |
1_54.txt |
AC |
192 ms |
229376 KB |
1_55.txt |
AC |
174 ms |
221056 KB |
1_56.txt |
AC |
178 ms |
223232 KB |
1_57.txt |
AC |
187 ms |
221312 KB |
1_58.txt |
AC |
188 ms |
225280 KB |
1_59.txt |
AC |
177 ms |
227456 KB |
1_60.txt |
AC |
203 ms |
225536 KB |
1_61.txt |
AC |
142 ms |
180224 KB |
1_62.txt |
AC |
193 ms |
223360 KB |
1_63.txt |
AC |
169 ms |
217216 KB |
1_64.txt |
AC |
122 ms |
190464 KB |
1_65.txt |
AC |
162 ms |
206848 KB |
1_66.txt |
AC |
166 ms |
209024 KB |
1_67.txt |
AC |
146 ms |
190592 KB |
1_68.txt |
AC |
173 ms |
211072 KB |
1_69.txt |
AC |
141 ms |
215040 KB |
1_70.txt |
AC |
183 ms |
213120 KB |
1_71.txt |
AC |
176 ms |
221312 KB |