蒟蒻20分求助
  • 板块P1605 迷宫
  • 楼主Augensterm
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/4/5 09:56
  • 上次更新2023/10/23 19:24:01
查看原帖
蒟蒻20分求助
774592
Augensterm楼主2023/4/5 09:56
#include<bits/stdc++.h>
using namespace std;
short n,m,t,a,b,sx,sy,fx,fy,nx,ny;
short cnt,dir[4][2]={ {0,1}, {1,0}, {0,-1}, {-1,0} };
/*
  0
0   0
  0
*/
bool M[10][10];
/*
void output()
{
	for(int i=1;i<=n;i++ )
	{
		for(int j=1;j<=m;j++)
			cout<<M[i][j]<<' ';
		cout<<endl;
	}
		
}
*/
void dfs(int ii,int jj)
{
	if(ii==fx&&jj==fy)
	{
		cnt++;
		return;
	}
	for(int i=0;i<4;i++)
	{
		nx=ii+dir[i][1];ny=jj+dir[i][2];
		if(M[nx][ny]==1||nx<1||nx>n||ny<1||ny>m)
			continue;
		M[nx][ny]=1;
		dfs(nx,ny);
		M[nx][ny]=0;
	}
}
int main()
{
	cin>>n>>m>>t;
	cin>>sx>>sy>>fx>>fy;
	while(t--)
		cin>>a>>b,M[a][b]=1;
	M[sx][sy]=1;
	//output();
	dfs(sx,sy);
	cout<<cnt;
    return 0;
} 
/*
0 0 0 0 0
1 1 1 1 0
0 0 0 1 0
0 0 0 0 0
0 0 0 0 0 
*/




不知道为何错
测试样例2如下

输入:
5 5 5
1 2 5 5
2 1
2 2
2 3
2 4
3 4

输出:
10


但是我输出为0,求调,20分,Wa。

2023/4/5 09:56
加载中...