60分来自蒟蒻的求助
查看原帖
60分来自蒟蒻的求助
1500355
kkksc78楼主2024/10/24 13:34

一直是第一个和最后一个测试点不过

#include<iostream>
#include<cmath>
#include<string>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
using namespace std;
long long n, m, a, b, f[21][21];
int dx[9] = { 0, 1, 2, 2, 1, -1, -2, -2, -1};
int dy[9] = { 0, 2, 1, -1, -2, -2, -1, 1, 2};
bool c[21][21];
int main() {
	cin >> m >> n >> a >> b;
	for (int i = 0; i <= 8; i++) {
		if (a + dx[i]<0 || a + dx[i]>n || b + dy[i]<0 || b + dy[i]>n) continue;
		else c[a + dx[i]][b + dy[i]] = 1;
	}
	if (c[0][0]) f[0][0] = 0;
	else f[0][0] = 1;
	for (int i = 0; i <= n; i++) {
		for (int j = 0; j <= m; j++) {
			if (c[i][j]) continue;
			if (j != 0) f[i][j] += f[i][j - 1];
			if (i != 0) f[i][j] += f[i - 1][j];
		}
	}
	cout << f[n][m];
	return 0;
}
2024/10/24 13:34
加载中...