羸弱的第一个帖子,各位神犇帮忙看一下吧
查看原帖
羸弱的第一个帖子,各位神犇帮忙看一下吧
672917
LEX666楼主2022/8/1 22:41

样例输出2,不知道为什么

#include<iostream>
using namespace std;
long long n,m,map[21][21]={},bk[21][21]={},q,w,num=0,di[2][2]={{1,0},{0,1}},flag=0,xx,yy;
void dfs(int x,int y){
	if(x==q&&y==w){
		num++;
		flag=1;
		return;
	}
	for(int i=0;i<2;i++){
		xx=x+di[i][0];
		yy=y+di[i][1];
		if(map[xx][yy]==0&&bk[xx][yy]==0){
			bk[xx][yy]=1;
			dfs(xx,yy);
			bk[xx][yy]=0;
		} 
	}
	
}
int main(){
	cin>>q>>w;
	cin>>n>>m;
	map[n-2][m+1]=1;
	map[n-2][m-1]=1;
	map[n+2][m+1]=1;
	map[n+2][m-1]=1;
	map[n-1][m+2]=1;
	map[n-1][m-2]=1;
	map[n+1][m+2]=1;
	map[n+1][m-2]=1;
	map[n][m]=1;
	bk[0][0]=1;
	dfs(0,0);
	cout<<num;
}
2022/8/1 22:41
加载中...