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
AC × 4
AC × 76
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