| 16969 | 2025-05-19 18:00:35 | horka | Labirintus | cpp17 | Hibás válasz 18/100 | 308ms | 27956 KiB |
#include "labirintus.h"
using namespace std;
#include <cassert>
#include <cstdio>
#include <array>
#include <vector>
#include <queue>
vector<vector<int>> d;
int n,m;
const int mxn=1005;
array<int, 2> el[mxn][mxn];
int kell[mxn][mxn];
vector<array<int, 2>> dir{{0,1},{1,0},{-1,0},{0,-1}};
void init_labyrinth(int r, int c, std::vector<std::vector<int>> L) {
n=r,m=c;
d.assign(n+2, vector<int> (m+2, 1));
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
d[i][j]=L[i-1][j-1];
queue<array<int, 2>> q;
q.push({1,1});
el[1][1]={1,0};
while(!q.empty())
{
auto [x,y]=q.front();
q.pop();
for(auto &[a,b]:dir)
{
if(!d[a+x][b+y] && !el[a+x][b+y][0])
{
el[a+x][b+y]={x,y};
q.push({a+x,b+y});
}
}
}
int i=n,j=m;
kell[1][1]=1;
while(i!=1 || j!=1)
{
kell[i][j]=1;
auto [x,y]=el[i][j];
i=x,j=y;
}
return;
}
bool can_escape(int N, std::vector<int> u, std::vector<int> v) {
bool ok=1;
for(int i=0; i<N; i++)
{
if(kell[u[i]+1][v[i]+1]) ok=0;
}
return ok;
}
/*int main() {
int R, C, Q;
assert(3 == scanf("%d %d %d", &R, &C, &Q));
std::vector<std::vector<int>> labyrinth(R, std::vector<int>(C));
for (int i = 0; i < R; ++i) {
for (int j = 0; j < C; ++j) {
char c;
assert(1 == scanf(" %c", &c));
labyrinth[i][j] = c - '0';
}
}
init_labyrinth(R, C, labyrinth);
std::vector<int> answers(Q);
for (int i = 0; i < Q; ++i) {
int N;
assert(1 == scanf("%d", &N));
std::vector<int> U(N), V(N);
for (int j = 0; j < N; ++j) {
assert(2 == scanf("%d %d", &U[j], &V[j]));
}
answers[i] = can_escape(N, U, V);
}
for (int i = 0; i < Q; ++i) {
printf("%d\n", answers[i]);
}
return 0;
}*/
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Hibás válasz | 159ms | 24812 KiB | ||||
| subtask2 | 0/15 | ||||||
| 3 | Hibás válasz | 21ms | 2612 KiB | ||||
| 4 | Elfogadva | 8ms | 2804 KiB | ||||
| 5 | Hibás válasz | 104ms | 1332 KiB | ||||
| 6 | Hibás válasz | 101ms | 852 KiB | ||||
| 7 | Hibás válasz | 72ms | 2356 KiB | ||||
| 8 | Hibás válasz | 74ms | 2356 KiB | ||||
| subtask3 | 18/18 | ||||||
| 9 | Elfogadva | 151ms | 11504 KiB | ||||
| 10 | Elfogadva | 128ms | 1904 KiB | ||||
| 11 | Elfogadva | 308ms | 27956 KiB | ||||
| 12 | Elfogadva | 275ms | 27700 KiB | ||||
| 13 | Elfogadva | 273ms | 27700 KiB | ||||
| 14 | Elfogadva | 293ms | 27884 KiB | ||||
| subtask4 | 0/28 | ||||||
| 15 | Hibás válasz | 216ms | 23856 KiB | ||||
| 16 | Elfogadva | 216ms | 23612 KiB | ||||
| 17 | Elfogadva | 223ms | 23044 KiB | ||||
| 18 | Elfogadva | 128ms | 20736 KiB | ||||
| 19 | Hibás válasz | 226ms | 24628 KiB | ||||
| 20 | Elfogadva | 97ms | 20992 KiB | ||||
| 21 | Hibás válasz | 94ms | 20792 KiB | ||||
| 22 | Hibás válasz | 223ms | 24832 KiB | ||||
| 23 | Elfogadva | 222ms | 24632 KiB | ||||
| subtask5 | 0/39 | ||||||
| 24 | Hibás válasz | 28ms | 316 KiB | ||||
| 25 | Hibás válasz | 14ms | 316 KiB | ||||
| 26 | Hibás válasz | 104ms | 1348 KiB | ||||
| 27 | Hibás válasz | 101ms | 1016 KiB | ||||
| 28 | Hibás válasz | 101ms | 820 KiB | ||||
| 29 | Hibás válasz | 101ms | 848 KiB | ||||
| 30 | Elfogadva | 273ms | 27700 KiB | ||||
| 31 | Elfogadva | 257ms | 27368 KiB | ||||
| 32 | Hibás válasz | 216ms | 24884 KiB | ||||
| 33 | Hibás válasz | 272ms | 27456 KiB | ||||
| 34 | Hibás válasz | 209ms | 25908 KiB | ||||
| 35 | Hibás válasz | 202ms | 25852 KiB | ||||
| 36 | Hibás válasz | 217ms | 20788 KiB | ||||
| 37 | Hibás válasz | 223ms | 23020 KiB | ||||
| 38 | Hibás válasz | 221ms | 21484 KiB | ||||
| 39 | Hibás válasz | 217ms | 23600 KiB | ||||