o
  • 板块P1238 走迷宫
  • 楼主shiyq
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/10 12:20
  • 上次更新2024/8/10 14:10:24
查看原帖
o
1225876
shiyq楼主2024/8/10 12:20

为什么我是100分??```cpp #include<bits/stdc++.h> using namespace std; int n,m; int pd=0; int tx[5]={0,0,-1,0,1}; int ty[5]={0,-1,0,1,0}; int xx[10000],yy[10000]; int a[1010][1010],b[1010][1010]; int ex,ey,sx,sy,k; void dfs(int x,int y) { if(x==ex and y==ey) { pd=1; cout<<"("<<sx<<","<<sy<<")"; for(int i=1;i<=k;i++) { cout<<"->("<<xx[i]<<","<<yy[i]<<")"; } cout<<endl;

	return ;
	
}
for(int i=1;i<=4;i++)	
{
	int txx=x+tx[i];
	int tyy=y+ty[i];
	if(txx<1 or txx>n or tyy<1 or tyy>m)
	{
		continue;
	}
	if(a[txx][tyy]==1 and b[txx][tyy]==0)
	{
		k++;
		xx[k]=txx;
		yy[k]=tyy;
		b[txx][tyy]=1;
		dfs(txx,tyy);
		k--;
		b[txx][tyy]=0;
		
	}
}

} int main() { cin>>n>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>a[i][j]; } } cin>>sx>>sy>>ex>>ey; b[sx][sy]=1; dfs(sx,sy); if(pd==0) cout<<"-1"; return 0; }

2024/8/10 12:20
加载中...