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;
}

Download