哪错了?
查看原帖
哪错了?
753241
ge_yiyang_001_DT楼主2023/8/19 17:23
#include<iostream>
using namespace std;
long long dp[25][25];
bool f[25][25];
int ax[5]={0,1,0,-1,0};
int ay[5]={0,0,1,0,-1};
int n,m,t,bx,by,hx,hy;
long long dg(int x,int y){
	if(x==hx&&y==hy){
		return 1;
	}
	f[x][y]=1; 
	long long sum=0;
	for(int i=1;i<=4;i++){
		int xf=x+ax[i];
		int yf=y+ay[i];
		if(xf>=1&&yf>=1&&xf<=m&&yf<=n&&!f[xf][yf]){
			if(dp[xf][yf]!=0)sum+=dp[xf][yf];
			else sum+=dg(xf,yf);
		}
	}
	f[x][y]=0;
	dp[x][y]=sum;
	return sum;
}
int main(){
	cin>>n>>m>>t>>bx>>by>>hx>>hy;
	for(int i=1;i<=t;i++){
		int x,y;
		cin>>x>>y;
		f[x][y]=1;
	}
	cout<<dg(bx,by)<<endl;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			cout<<dp[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}
2023/8/19 17:23
加载中...