40分,洛谷IDE的相同测试样例,我本地跑正确,但洛谷IDE却WA
  • 板块P1605 迷宫
  • 楼主Luckz
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/12/24 13:18
  • 上次更新2023/10/24 06:47:05
查看原帖
40分,洛谷IDE的相同测试样例,我本地跑正确,但洛谷IDE却WA
626618
Luckz楼主2022/12/24 13:18
#include <iostream>
using namespace std;

int N, M, T, SX, SY, FX, FY;
int dX[4] = {-1, 0, 0, 1};
int dY[4] = {0, -1, 1, 0};


int dfs(int x, int y, bool vis[10][10]) {
	if(x == FX && y == FY) {
		return 1;
	}
	//本题一定要内部再创建一个独立的vis数组,否则会冲突 
	bool tVis[10][10];
	for(int i = 1; i <= M; i++) {
		for(int j = 1; j <= N; j++) {
			tVis[i][j] = vis[i][j];
		}
	}
	tVis[y][x] = true;
	int res = 0;
	for(int i = 0; i < 4; i++) {
		int nx = x + dX[i];
		int ny = y + dY[i];
		//nx为横坐标, ny为纵坐标 	
		if(nx >= 1 && nx <= N && ny >= 1 && ny <= M && vis[ny][nx] == false) {
			res += dfs(nx, ny, tVis);
		}
	}
	return res;
}

int main() {
	bool vis[10][10];
	cin >> N >> M >> T;
	cin >> SX >> SY >> FX >> FY;
	for(int i = 0; i < T; i++) {
		int x, y;
		cin >> x >> y;
		vis[y][x] = 1;
	}
	int ans = dfs(SX, SY, vis);
	printf("%d", ans);
	return 0;
} 

求问,为啥我代码运行洛谷错误的测试样例时答案是正确的,但当洛谷IDE测试同样的样例时答案却跟我的不一样,显示WA

2022/12/24 13:18
加载中...