1870 | 2022. 12. 06 20:15:07 | kovacs.peter.18f | Tom és Jerry 1 (80) | cpp11 | Elfogadva 80/80 | 52ms | 11800 KiB |
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;
int main() {
cin.sync_with_stdio(false);
cin.tie(nullptr);
int N, M, T, P, E;
cin >> N >> M >> T >> P >> E;
vector<vector<pair<int, int>>> neighbourS(N); // node, weihgt
while (M--) {
int A, B, S;
cin >> A >> B >> S;
--A;
--B;
neighbourS[A].push_back({ B, S });
neighbourS[B].push_back({ A, S });
}
--T;
--E;
// szélességi bejárás Tomra
vector<int> t_distS(N, -1); // push in pqS, if has -2 distance neihbour
queue<int> currentS;
t_distS[T] = 0;
currentS.push(T);
while (!currentS.empty()) {
int c = currentS.front();
currentS.pop();
for (auto e : neighbourS[c]) {
if (e.second == 2 && t_distS[e.first] == -1) {
t_distS[e.first] = t_distS[c] + 1;
currentS.push(e.first);
}
}
}
vector<int> e_distS(N, -1);
if (t_distS[E] == -1) {
e_distS[E] = 100000;
}
priority_queue<pair<int, int>> pqS; // distance, node
pqS.push({ e_distS[E], E });
while (!pqS.empty()) {
pair<int, int> c = pqS.top();
pqS.pop();
for (auto e : neighbourS[c.second]) {
if (e_distS[e.first] == -1) {
int d = c.first ? c.first - 1 : 0;
e_distS[e.first] = t_distS[e.first] == -1 ? d : min(d, t_distS[e.first]);
pqS.push({ e_distS[e.first], e.first });
}
}
}
while (P--) {
int K;
cin >> K;
--K;
cout << (e_distS[K] ? "IGEN\n" : "NEM\n");
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 80/80 | ||||||
1 | Elfogadva | 0/0 | 3ms | 2112 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2456 KiB | |||
3 | Elfogadva | 4/4 | 2ms | 2392 KiB | |||
4 | Elfogadva | 4/4 | 2ms | 2552 KiB | |||
5 | Elfogadva | 4/4 | 2ms | 2632 KiB | |||
6 | Elfogadva | 4/4 | 2ms | 2652 KiB | |||
7 | Elfogadva | 4/4 | 2ms | 2852 KiB | |||
8 | Elfogadva | 4/4 | 3ms | 3120 KiB | |||
9 | Elfogadva | 4/4 | 3ms | 3264 KiB | |||
10 | Elfogadva | 4/4 | 3ms | 3508 KiB | |||
11 | Elfogadva | 4/4 | 6ms | 4116 KiB | |||
12 | Elfogadva | 4/4 | 8ms | 5004 KiB | |||
13 | Elfogadva | 4/4 | 13ms | 5596 KiB | |||
14 | Elfogadva | 4/4 | 24ms | 7740 KiB | |||
15 | Elfogadva | 4/4 | 32ms | 8824 KiB | |||
16 | Elfogadva | 4/4 | 39ms | 10804 KiB | |||
17 | Elfogadva | 4/4 | 50ms | 11156 KiB | |||
18 | Elfogadva | 4/4 | 34ms | 9332 KiB | |||
19 | Elfogadva | 4/4 | 37ms | 9728 KiB | |||
20 | Elfogadva | 4/4 | 37ms | 9716 KiB | |||
21 | Elfogadva | 4/4 | 30ms | 8612 KiB | |||
22 | Elfogadva | 4/4 | 52ms | 11800 KiB |