程序超时了,求大佬解答,告诉必关
查看原帖
程序超时了,求大佬解答,告诉必关
1810742
de_yi_zhi_d_3_d_g楼主2025/8/2 19:48

#include<bits/stdc++.h>

#include<bits/stdc++.h>
using namespace std;
int t[15][15];
int n,m,T;
int x,y,fx,fy,cnt;
int dx[4]={1,0,0,-1};
int dy[4]={0,1,-1,0};
int vis[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/8/2 19:48
加载中...