LKNIGHT - Mã đi tuần
Tác giả: happyboy99x
Ngôn ngữ: C++
#include<cstdio>
#include<algorithm>
using namespace std;
int d[8][2] = {{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2},{1,-2},{2,-1}};
int n, k;
char s[1001];
int main() {
scanf("%d%d%s", &n, &k, s);
int x = 0, y = 0, minRow = 0, maxRow = 0, minCol = 0, maxCol = 0;
for(int i = 0; i < k; ++i) {
x += d[s[i] - '1'][0]; y += d[s[i] - '1'][1];
minRow = min(minRow, x);
minCol = min(minCol, y);
maxRow = max(maxRow, x);
maxCol = max(maxCol, y);
}
#ifdef __WATASHI
printf("%d %d %d %d\n", minRow, maxRow, minCol, maxCol);
#endif
printf("%d\n", max(0, (n - maxRow + minRow) * (n - maxCol + minCol)));
return 0;
}