为啥爆0?
查看原帖
为啥爆0?
1008710
lichengze2012楼主2024/9/25 23:49
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	n++,m++;
	int dt[25][25]={0};
	int bj[25][25]={0};
	int x,y;
	cin>>x>>y;
	x++,y++;
	dt[x][y]=1;
	int fx_x[8]={2,1,-1,-2,-2,-1,1,2};
	int fx_y[8]={1,2,2,1,-1,-2,-2,-1};
	for(int i=0;i<8;i++){
		if(x+fx_x[i]>0&&y+fx_y[i]>0&&x+fx_x[i]<=20&&y+fx_y[i]<=20){
			bj[x+fx_x[i]][y+fx_y[i]]=1;
		}
	}
	dt[1][1]=1;
	for(int i=1;i<=20;i++){
		for(int j=1;j<=20;j++){
			if(i==1&&j==1){
				continue;
			}
			if(bj[i][j]==0){
				dt[i][j]=dt[i-1][j]+dt[i][j-1];
			}
		}
	}
	cout<<dt[n][m];
	return 0;
}

2024/9/25 23:49
加载中...