60分 RE两个
查看原帖
60分 RE两个
894597
rarepara楼主2023/8/26 08:44
#include<bits/stdc++.h>
using namespace std;
int s[9]={0,-2,-1,1,2,2,1,-1,-2};
int b[9]={0,1,2,2,1,-1,-2,-2,-1};
long long n,m,x,y,k[1000][1000]={0},ans;
int main(){
	cin>>n>>m>>x>>y;
	k[x][y]=-1;
	for(int i=1;i<=8;i++){
		k[x+s[i]][y+b[i]]=-1;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(k[i][j]==-1){
				continue;
			}
			if(k[i-1][j]==-1&&k[i][j-1]==-1){
				k[i][j]=0;
			}else if(k[i-1][j]==-1||i==0){
				k[i][j]=k[i][j-1];
			}else if(k[i][j-1]==-1||j==0){
				k[i][j]=k[i-1][j];
			}else{
				k[i][j]=k[i-1][j]+k[i][j-1];
			}
			if(i==1&&j==1){
				k[i][j]=1;
			}
		}
	}
	cout<<k[n][m];
	return 0;
}
2023/8/26 08:44
加载中...