社区讨论
求助,单组数据改多组数据时出错
UVA12731 太空站之谜 Mysterious Space Station参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lonamqyf
- 此快照首次捕获于
- 2023/11/07 03:26 2 年前
- 此快照最后确认于
- 2023/11/07 03:26 2 年前
我在 UOJ 上 AC 了此题,源代码:http://uoj.ac/submission/394724
这题在 UOJ 上是单组数据,但是我把单组数据改成多组数据时,交到 UVA 上却出错了。代码在这里:http://uoj.ac/submission/394725
其中主要需要修改的是读入部分:
CPPbool read() {
scanf("%d%d%d", &n, &m, &k);
if (n == 0) return false;
memset(a, 0, sizeof(a));
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++) {
char c;
std::cin >> c;
if (c == 'S') start = point(i, j);
if (c == '*') a[i][j] = Wall;
else a[i][j] = Unknown;
}
return true;
}
这样的写法会导致 TLE,而把前面一段换成
if (scanf("%d%d%d", &n, &m, &k) != 3 || n == 0) return false; 时会导致 WA。UOJ 上有刘汝佳的经过修改后可以在 UOJ 上通过的标程:http://uoj.ac/submission/105789。我也把这份代码中的读入中的
main() 函数改成这样,再把注释掉的 memset() 语句去掉注释交过,但是也 WA 了。请问我还可能有什么没有注意到的地方?我是这样修改
CPPmain() 函数的: while (Readin()) {
Initialize();
Judge();
Match();
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...