10313 | 2024-03-30 15:05:40 | MagyarKendeSZLG | Labirintus | cpp17 | Időlimit túllépés 15/100 | 2.099s | 54796 KiB |
#include "labirintus.h"
#include <queue>
#include <array>
std::vector<std::vector<int>> l;
constexpr int dx[] = {1, -1, 0, 0}, dy[] = {0, 0, 1, -1};
int r, c;
void init_labyrinth(int R, int C, std::vector<std::vector<int>> L) {
l = L;
r = R;
c = C;
}
bool can_escape(int N, std::vector<int> U, std::vector<int> V) {
for (int i = 0; i < N; i++) {
l[U[i]][V[i]] = 1;
}
std::vector<std::vector<bool>> vis(r, std::vector<bool>(c));
std::queue<std::array<int, 2>> q({{0, 0}});
vis[0][0] = 1;
while (!q.empty()) {
auto [x, y] = q.front(); q.pop();
if (x == c - 1 && y == r - 1) {
for (int i = 0; i < N; i++) {
l[U[i]][V[i]] = 0;
};
return true;
}
for (int i = 0; i < 4; i++) {
int nx = x + dx[i], ny = y + dy[i];
if (nx < 0 || ny < 0 || nx >= c || ny >= r || l[ny][nx]) {
continue;
}
if (!vis[ny][nx]) {
vis[ny][nx] = 1;
q.push({nx, ny});
}
}
}
for (int i = 0; i < N; i++) {
l[U[i]][V[i]] = 0;
}
return false;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1480 KiB | ||||
2 | Időlimit túllépés | 2.099s | 14040 KiB | ||||
subtask2 | 15/15 | ||||||
3 | Elfogadva | 54ms | 3892 KiB | ||||
4 | Elfogadva | 28ms | 4348 KiB | ||||
5 | Elfogadva | 108ms | 6784 KiB | ||||
6 | Elfogadva | 111ms | 9196 KiB | ||||
7 | Elfogadva | 68ms | 12016 KiB | ||||
8 | Elfogadva | 70ms | 14116 KiB | ||||
subtask3 | 0/18 | ||||||
9 | Időlimit túllépés | 2.061s | 14372 KiB | ||||
10 | Elfogadva | 593ms | 17452 KiB | ||||
11 | Időlimit túllépés | 2.066s | 29888 KiB | ||||
12 | Időlimit túllépés | 2.072s | 30864 KiB | ||||
13 | Időlimit túllépés | 2.072s | 32020 KiB | ||||
14 | Időlimit túllépés | 2.069s | 32944 KiB | ||||
subtask4 | 0/28 | ||||||
15 | Elfogadva | 867ms | 49384 KiB | ||||
16 | Elfogadva | 773ms | 51648 KiB | ||||
17 | Elfogadva | 435ms | 52868 KiB | ||||
18 | Elfogadva | 358ms | 52876 KiB | ||||
19 | Időlimit túllépés | 2.078s | 40840 KiB | ||||
20 | Elfogadva | 87ms | 52944 KiB | ||||
21 | Elfogadva | 138ms | 52900 KiB | ||||
22 | Időlimit túllépés | 2.062s | 40852 KiB | ||||
23 | Időlimit túllépés | 2.056s | 40836 KiB | ||||
subtask5 | 0/39 | ||||||
24 | Elfogadva | 37ms | 29688 KiB | ||||
25 | Elfogadva | 18ms | 29564 KiB | ||||
26 | Elfogadva | 108ms | 29828 KiB | ||||
27 | Elfogadva | 111ms | 29776 KiB | ||||
28 | Elfogadva | 108ms | 30076 KiB | ||||
29 | Elfogadva | 111ms | 29996 KiB | ||||
30 | Időlimit túllépés | 2.075s | 41364 KiB | ||||
31 | Időlimit túllépés | 2.053s | 41496 KiB | ||||
32 | Időlimit túllépés | 2.072s | 41536 KiB | ||||
33 | Időlimit túllépés | 2.065s | 41552 KiB | ||||
34 | Időlimit túllépés | 2.069s | 41864 KiB | ||||
35 | Időlimit túllépés | 2.065s | 41928 KiB | ||||
36 | Elfogadva | 228ms | 54224 KiB | ||||
37 | Elfogadva | 439ms | 54136 KiB | ||||
38 | Elfogadva | 188ms | 54672 KiB | ||||
39 | Elfogadva | 642ms | 54796 KiB |