为什么2,3测试点TEL了,求助大佬
查看原帖
为什么2,3测试点TEL了,求助大佬
1066991
Revenge2024楼主2023/11/18 18:48
#include <iostream>
using namespace std;
int l[24][24]={0};
int x1,y1,xz,yz;
int re=0;

void k(int x,int y){
	if(x==xz&&y==yz){//到了终点路线+1 
		re++;
		return;
	}
	if(l[x][y+1]!=1&&y+1<=yz){//前方有墙或马就不往前 
		k(x,y+1);
	}
	if(l[x+1][y]!=1&&x+1<=xz){//下方有墙或马就不往下 
		k(x+1,y);
	}
	return;//前和下都被档就跳出 
}



int main(){
    cin>>xz>>yz>>x1>>y1;
    xz=xz+2;
    yz=yz+2;
    x1=x1+2;
    y1=y1+2;
    l[x1][y1]=1;//会被马档的点 
    l[x1-1][y1+2]=1;
    l[x1+1][y1+2]=1;
    l[x1-1][y1-2]=1;
    l[x1+1][y1-2]=1;
    l[x1-2][y1+1]=1;
    l[x1-2][y1-1]=1;
    l[x1+2][y1+1]=1;
    l[x1+2][y1-1]=1; 
	k(2,2);
	cout<<re;
    return 0;
}
2023/11/18 18:48
加载中...