7820 | 2024. 01. 11 11:54:16 | renn | Tom és Jerry 1 (80) | cpp17 | Hibás válasz 60/80 | 582ms | 14392 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, 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 >> t;
t--;
cout << (jerrybejar(jerry, tom_tav, jerry_tav, t, e) ? "IGEN\n" : "NEM\n");
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 60/80 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1964 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 2372 KiB | |||
3 | Hibás válasz | 0/4 | 3ms | 2244 KiB | |||
4 | Elfogadva | 4/4 | 3ms | 2452 KiB | |||
5 | Elfogadva | 4/4 | 3ms | 2596 KiB | |||
6 | Elfogadva | 4/4 | 3ms | 2808 KiB | |||
7 | Elfogadva | 4/4 | 3ms | 3200 KiB | |||
8 | Elfogadva | 4/4 | 4ms | 3296 KiB | |||
9 | Elfogadva | 4/4 | 4ms | 3424 KiB | |||
10 | Elfogadva | 4/4 | 4ms | 3756 KiB | |||
11 | Elfogadva | 4/4 | 8ms | 4440 KiB | |||
12 | Elfogadva | 4/4 | 10ms | 5420 KiB | |||
13 | Elfogadva | 4/4 | 14ms | 6276 KiB | |||
14 | Elfogadva | 4/4 | 28ms | 8752 KiB | |||
15 | Elfogadva | 4/4 | 35ms | 9060 KiB | |||
16 | Elfogadva | 4/4 | 46ms | 14392 KiB | |||
17 | Elfogadva | 4/4 | 65ms | 13348 KiB | |||
18 | Elfogadva | 4/4 | 37ms | 11008 KiB | |||
19 | Időlimit túllépés | 0/4 | 570ms | 8040 KiB | |||
20 | Időlimit túllépés | 0/4 | 574ms | 8104 KiB | |||
21 | Időlimit túllépés | 0/4 | 561ms | 6844 KiB | |||
22 | Időlimit túllépés | 0/4 | 582ms | 8588 KiB |