Help me!!!90分求各位大佬们指导,万分感谢
查看原帖
Help me!!!90分求各位大佬们指导,万分感谢
1793472
lijiaying2406楼主2025/7/23 15:07
#include<bits/stdc++.h>
using namespace std;
int n,m,dx[4]={1,0,0,-1},dy[4]={0,1,-1,0},vis[10][10],T;
int x,y,fx,fy,cnt;
bool t[10][10];
void dfs(int x,int y){
	if(x==fx&&y==fy){
		cnt++;
		return;
	}
	if(x>n||x<1||y>m||y<1)return;
	
	for(int i=0;i<=3;i++){
		if(vis[x+dx[i]][y+dy[i]]==0&&t[x+dx[i]][y+dy[i]]==0){
			vis[x][y]=1;
			dfs(x+dx[i],y+dy[i]);
			vis[x][y]=0;
		}
	}
}
int main(){
	cin>>n>>m>>T;
	cin>>x>>y>>fx>>fy;
	vis[x][y]=1;
	for(int i=1;i<=T;i++){
		int tx,ty;
		cin>>tx>>ty;
		t[tx][ty]=1;
	}
	dfs(1,1);
	cout<<cnt;
	return 0;
}

2025/7/23 15:07
加载中...