P1002[NOIP2002 普及组]过河卒求助(悬赏一关注)
  • 板块题目总版
  • 楼主digua2010
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/7/31 15:07
  • 上次更新2023/11/3 06:45:02
查看原帖
P1002[NOIP2002 普及组]过河卒求助(悬赏一关注)
737273
digua2010楼主2023/7/31 15:07
#include<bits/stdc++.h>

using namespace std;

const int tx[] = {-1, -2, -2, -1, 1, 2, 2, 1}, ty[] = {-2, -1, 1, 2, 2, 1, -1, -2};
long int n, m, mx, my, f[50][50];
int main() {
	cin >> n >> m >> mx >> my;
	f[3][3] = 1; // 3 = 1 + 2
	for (int i = 3; i <= n + 2; i++) {
		for (int j = 3; j <= m + 2; j++) {
			if (i == 3 || j == 3) {
				f[i][j] = 1;
			} else
				f[i][j] = f[i - 1][j] + f[i][j - 1];
			for (int p = 0; p < 8; p++) {
				if (i == mx + tx[p] + 2 && j == my + ty[p] + 2) {
					f[i][j] = 0;
					break;
				}
			}
		}
	}
	cout << f[n + 2][m + 2];

	return 0;
}

2023/7/31 15:07
加载中...