求助,WA60分
查看原帖
求助,WA60分
760898
wangzewen1103楼主2024/7/16 22:46
#include<bits/stdc++.h>
using namespace std;
const int N=100;
long long dp[N][N];
int dxy[9][2]={
	{-1,-2},{-2,-1},{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{0,0}
};
bool vis[N][N];
int main(){
	int n,m,x,y;
	cin>>n>>m>>x>>y;
	for(int i=0;i<9;i++){
		int xx=x+dxy[i][0];
		int yy=y+dxy[i][1];
		if(xx>=0&&xx<=n&&yy>=0&&yy<=m){
			vis[xx][yy]=1;
		}
	}
	for(int i=0;i<=max(n,m);i++){
		dp[0][i]=1;
		dp[i][0]=1;
		dp[i][0]*=(vis[i][0]==0?1:0);
		dp[0][i]*=(vis[0][i]==0?1:0);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			dp[i][j]=dp[i-1][j]+dp[i][j-1];
			dp[i][j]*=(vis[i][j]==0?1:0);
//			cout<<dp[i][j]<<' ';
		}
//		cout<<'\n';
	} 
	cout<<dp[n][m];
	return 0;
}

3、4点错, 求助各位大佬

2024/7/16 22:46
加载中...