80ptsWA,DP求助
查看原帖
80ptsWA,DP求助
1090339
YU_Accepted楼主2024/5/25 17:46
#include<iostream>
using namespace std;
int n, m, hx, hy;
long long dp[22][22];
bool vis[22][22] = {0};
int main()
{
	cin >> n >> m >> hx >> hy;
	n += 2;
	m += 2;
	hx += 2;
	hy += 2;
	vis[hx][hy] = 1;
	vis[hx + 1][hy + 2] = 1;
	vis[hx + 1][hy - 2] = 1;
	vis[hx - 1][hy + 2] = 1;
	vis[hx - 1][hy - 2] = 1;
	vis[hx + 2][hy + 1] = 1;
	vis[hx + 2][hy - 1] = 1;
	vis[hx - 2][hy + 1] = 1;
	vis[hx - 2][hy - 1] = 1;
	dp[2][2] = 1;
	for(int i = 2; i <= n; i++)
	{
		for(int j = 2; j <= m; j++)
		{
			if(vis[i][j] == 1 || (i == 2 && j == 2))
			{
				continue;
			}
			 dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
		}
	}
	cout << dp[n][m];
	return 0;
}
2024/5/25 17:46
加载中...