求助,90pts,测试点二挂了
  • 板块P1605 迷宫
  • 楼主剑雪清寒
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/6/22 21:37
  • 上次更新2023/11/4 21:36:12
查看原帖
求助,90pts,测试点二挂了
214728
剑雪清寒楼主2021/6/22 21:37

下载后运行结果与数据一致,提交结果WA 我菜死找不到问题QAQ

#include <bits/stdc++.h>
using namespace std;
inline int read() {
	int x=0,f=1;char ch=getchar();
	if(!isdigit(ch)) { if(ch=='-') f=-1; ch=getchar(); }
	if(isdigit(ch)) { x=x*10+ch-48; ch=getchar(); }
	return x*f;
}
int n=read(),m=read(),t=read(),sx=read(),sy=read(),fx=read(),fy=read();
bool mm[6][6];
int ans=0;
void dfs(int xx,int yy) {
	mm[xx][yy]=true;
	if(xx==fx&&yy==fy) {
		ans++;
		return ;
	}
	int a[5]={0,1,-1,0,0},b[5]={0,0,0,1,-1};
	for(int i=1;i<=4;i++) {
		int ux=xx+a[i],uy=yy+b[i];
		if(mm[ux][uy] || ux<1 || ux>n || uy<1 || uy>m) continue;
		dfs(ux,uy);
		mm[ux][uy]=false;
	}
	return ;
}
int main() {
	for(int i=1;i<=t;i++) {
		int x=read(),y=read();
		mm[x][y]=true;
	}
	dfs(sx,sy);
	cout<<ans;
	return 0;
}

2021/6/22 21:37
加载中...