迷之RE
  • 板块P1605 迷宫
  • 楼主imnoob
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/15 16:08
  • 上次更新2024/1/15 20:09:54
查看原帖
迷之RE
487383
imnoob楼主2024/1/15 16:08

记录

#include<bits/stdc++.h>
using namespace std;
int n,m,t,arr[20][20],fx,fy,x,y,ans=0;
int a[5]={1,-1,0,0};
int b[5]={0,0,1,-1};
int dx[110],dy[110];
int search(int k){
	int c,d;
	for(int i=0;i<4;i++){
		c=dx[k-1]+a[i];
		d=dy[k-1]+b[i];
		if(arr[c][d]!=1&&c>0&&c<=n&&d>0&&d<=m){
			arr[c][d]=1;
			dx[k]=c;
			dy[k]=d;
			if(c==fx&&d==fx){
				ans++;
			}
			else{
				search(k+1);
			}
			arr[c][d]=0;
		}
	}
}
int main(){
	cin>>n>>m>>t;
	cin>>dx[0]>>dy[0]>>fx>>fy;
	for(int i=1;i<=t;i++){
		cin>>x>>y;
		arr[x][y]=1;
	} 
	arr[dx[0]][dy[0]]=1;
	search(1);
	cout<<ans;
}
2024/1/15 16:08
加载中...