蒟蒻求助!!#2 #5 UKE!
查看原帖
蒟蒻求助!!#2 #5 UKE!
379538
MC_BS_shy楼主2021/11/28 20:37
#include<bits/stdc++.h>
using namespace std;
int dx[8]={2,2,1,1,-1,-1,-2,-2};
int dy[8]={1,-1,2,-2,2,-2,1,-1};
int ban[9][2];
long long dp[25][25];
int main(){

	int a,b,c,d;
	cin>>a>>b>>c>>d;
	for(int i=0;i<8;i++){
		ban[i][0]=c+dx[i]+2;
		ban[i][1]=d+dy[i]+2;
	}
	ban[8][0]=c+2;
	ban[8][1]=d+2;
	dp[2][2]=1;
	for(int i=2;i<=a+2;i++){
		for(int j=2;j<=b+2;j++){
			if(i==2&&j==2) continue;
			bool can=1;
			for(int k=0;k<=8;k++){
				if(i==ban[k][0]&&j==ban[k][1]){
					can=0;
				}
			}
			if(can) dp[i][j]=dp[i-1][j]+dp[i][j-1];
		}
	}
	
	cout<<dp[a+2][b+2];
	return 0;
}
2021/11/28 20:37
加载中...