7822 | 2024. 01. 11 11:57:44 | renn | Tom és Jerry 1 (80) | cpp17 | Időlimit túllépés 64/80 | 568ms | 14696 KiB |
#include <bits/stdc++.h>
#define GOTTAGOFAST cin.tie(0); ios::sync_with_stdio(0);
using namespace std;
typedef vector<vector<int>> adj;
queue<int> nex;
inline void tombejar(adj &tom, vector<int> &tomtav, int &t)
{
nex.push(t);
tomtav[t] = 0;
while(!nex.empty())
{
int& curr = nex.front();
for(auto &x : tom[curr])
{
if(tomtav[x] > tomtav[curr]+1)
{
nex.push(x);
tomtav[x] = tomtav[curr]+1;
}
}
nex.pop();
}
}
inline bool jerrybejar(adj &jerry, vector<int> &tomtav, vector<int> &jerrytav, int &j, int &c)
{
nex = {};
fill(jerrytav.begin(), jerrytav.end(), 200000);
nex.push(j);
jerrytav[j] = 0;
while(!nex.empty())
{
int& curr = nex.front();
for(auto &x : jerry[curr])
{
if(jerrytav[x] > jerrytav[curr]+1 && jerrytav[curr]+1 < tomtav[x])
{
if(x == c) return true;
nex.push(x);
jerrytav[x] = jerrytav[curr]+1;
}
}
nex.pop();
}
return false;
}
int main()
{
GOTTAGOFAST
int n, m, t, j, jp, e;
int a, b, s;
cin >> n >> m >> t >> jp >> e;
e--;
adj tom(n);
vector<int> tom_tav(n, 200000);
adj jerry(n);
vector<int> jerry_tav(n);
for(;m--;)
{
cin >> a >> b >> s;
a--;
b--;
jerry[a].push_back(b);
jerry[b].push_back(a);
if(s == 2)
{
tom[a].push_back(b);
tom[b].push_back(a);
}
}
tombejar(tom, tom_tav, (--t));
for(;jp--;)
{
cin >> j;
j--;
if(j == t)
{
cout << "NEM\n";
continue;
}
if(j == e)
{
cout << "IGEN\n";
continue;
}
cout << (jerrybejar(jerry, tom_tav, jerry_tav, j, e) ? "IGEN\n" : "NEM\n");
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 64/80 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 2288 KiB | |||
3 | Elfogadva | 4/4 | 3ms | 2232 KiB | |||
4 | Elfogadva | 4/4 | 3ms | 2320 KiB | |||
5 | Elfogadva | 4/4 | 3ms | 2452 KiB | |||
6 | Elfogadva | 4/4 | 3ms | 2540 KiB | |||
7 | Elfogadva | 4/4 | 3ms | 2844 KiB | |||
8 | Elfogadva | 4/4 | 4ms | 3112 KiB | |||
9 | Elfogadva | 4/4 | 4ms | 3208 KiB | |||
10 | Elfogadva | 4/4 | 4ms | 3560 KiB | |||
11 | Elfogadva | 4/4 | 8ms | 4292 KiB | |||
12 | Elfogadva | 4/4 | 10ms | 5408 KiB | |||
13 | Elfogadva | 4/4 | 14ms | 6012 KiB | |||
14 | Elfogadva | 4/4 | 28ms | 8752 KiB | |||
15 | Elfogadva | 4/4 | 37ms | 9112 KiB | |||
16 | Elfogadva | 4/4 | 48ms | 14696 KiB | |||
17 | Elfogadva | 4/4 | 67ms | 13612 KiB | |||
18 | Elfogadva | 4/4 | 37ms | 11272 KiB | |||
19 | Időlimit túllépés | 0/4 | 568ms | 8000 KiB | |||
20 | Időlimit túllépés | 0/4 | 566ms | 8200 KiB | |||
21 | Időlimit túllépés | 0/4 | 546ms | 6968 KiB | |||
22 | Időlimit túllépés | 0/4 | 559ms | 8560 KiB |