0分求助
查看原帖
0分求助
528243
wangxinlong_orange楼主2022/3/15 19:24
#include<iostream>
using namespace std;
bool k[10000][10000];
int xm,ym,xb,yb;
long long sum=0;
void dfs(int a,int b)
{
	if((a>=xb)||(b>=yb)) return;
	if((a==xb)&&(b==yb)){
		sum++;
		return;
	}
	if(k[a+1][b]=false) dfs(a+1,b);
	if(k[a][b+1]=false) dfs(a,b+1);
	return;
}
int main(){
	cin>>xb>>yb>>xm>>ym;
	
	k[xm][ym]=true;//0
	k[xm+2][ym+1]==true;//2
	k[xm+1][ym+2]==true;//1
	if(ym-1>=0){
	k[xm+2][ym-1]==true;//3
	if(ym-2>=0){
		k[xm+1][ym-2]==true;//4
		if(xm-1>=0){
			k[xm-1][ym-2]==true;//5
		}
	}
	if(xm-2>=0){
		k[xm-2][ym-1]==true;//6
	}
    }
    if(xm-1>=0){
    	k[xm-1][ym+2]=true;//8
    	if(xm-2>=0) k[xm-2][ym+1]=true;//7
    }
    
    dfs(0,0);
    
    cout<<sum;
    return 0;
}
2022/3/15 19:24
加载中...