蒟蒻回溯只有70pts,求dalao帮助!!!!!!!!!!!!1
  • 板块P1605 迷宫
  • 楼主Charles_koyi
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/8/3 17:18
  • 上次更新2023/11/3 06:07:35
查看原帖
蒟蒻回溯只有70pts,求dalao帮助!!!!!!!!!!!!1
812417
Charles_koyi楼主2023/8/3 17:18
#include<bits/stdc++.h>
using namespace std;
long long ans,tx,ty,n,m,t,sx,sy,fx,fy;
bool ju[501][501]={0};
void find(int x,int y)
{
	if(x==fx and y==fy)  //到达终点 
	{
		ans++;
		return;
	}
	if(ju[x+1][y]==0 and x+1<=n) //因为障碍一直是一,根本不会进入,也就不会被覆盖 
	{
		ju[x+1][y]=1;
		find(x+1,y);
		ju[x+1][y]=0;
	}
	if(ju[x-1][y]==0 and x-1>=1)
	{
		ju[x-1][y]=1;
		find(x-1,y);
		ju[x-1][y]=0;
	}
	if(ju[x][y+1]==0 and y+1<=m)
	{
		ju[x][y+1]=1;
		find(x,y+1);
		ju[x][y+1]=0;
	} 
	if(ju[x][y-1]==0 and y-1>=1)
	{
		ju[x][y-1]=1;
		find(x,y-1);
		ju[x][y-1]=0;
	}
}
int main()
{
	cin>>n>>m>>t;
	cin>>sx>>sy>>fx>>fy; //起点和终点 
	for(int i=1;i<=t;i++)
	{
		cin>>tx>>ty;     //设置障碍 
		ju[tx][ty]=1;
	}
	find(sx,sy);
	cout<<ans;
	return 0;
}
2023/8/3 17:18
加载中...