社区讨论
关于宽搜的时间问题
灌水区参与者 6已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @lobc94nf
- 此快照首次捕获于
- 2023/10/29 18:38 2 年前
- 此快照最后确认于
- 2023/11/04 00:25 2 年前
CPP
#define pii pair <int, int>
#define mp make_pair
#define x first
#define y second
queue <pii> q;
q.push (mp (n + 1, m + 1));
while (!q.empty ()) {
pii p = q.front ();
q.pop ();
// Q[p.x][p.y] = 2;
if (p.x + 1 <= n + 1 && Q[p.x + 1][p.y] == 0) {
Q[p.x + 1][p.y] = 2; // <1>
q.push (mp (p.x + 1, p.y));
}
if (p.x - 1 >= n - h + 1 && Q[p.x - 1][p.y] == 0) {
Q[p.x - 1][p.y] = 2; // <2>
q.push (mp (p.x - 1, p.y));
}
if (p.y + 1 <= m + 1 && Q[p.x][p.y + 1] == 0) {
Q[p.x][p.y + 1] = 2; // <3>
q.push (mp (p.x, p.y + 1));
}
if (p.y - 1 >= 0 && Q[p.x][p.y - 1] == 0) {
Q[p.x][p.y - 1] = 2; // <4>
q.push (mp (p.x, p.y - 1));
}
}
在这一段代码中,我要是把后面标注 <1> <2> <3> <4> 的代码删掉,还原回注释掉的那个代码,就会从 AC 178ms 到 TLE 80pts(时间限制 1000ms)。
这个是为什么呢?为什么换一种写法就 T 了?
回复
共 10 条回复,欢迎继续交流。
正在加载回复...