9252 | 2024. 02. 19 11:42:28 | TuruTamas | Hálózati átvitel | cpp17 | Időlimit túllépés 20/50 | 649ms | 7144 KiB |
#include <bits/stdc++.h>
using namespace std;
#ifdef DEBUG
ifstream in_file("minta/be2.txt");
#define input in_file
#define INTHENAMEOFGOD
#else
#define input cin
#define INTHENAMEOFGOD \
ios::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
#endif
typedef long long ll;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<bool> vb;
typedef pair<ll, ll> pii;
ll N, M, H, K, a, b, c;
vector<vector<pii>> G;
vi s;
vector<pii> vp;
vb in;
void dfs(ll x, ll h, ll seb) {
in[x] = true;
s[x] = max(s[x], seb);
if (h == H) {
in[x] = false;
return;
}
for (pii &next : G[x]) {
if (in[next.first]) {
continue;
}
auto &p = vp[next.first];
if (p.first <= h+1 && p.second >= min(seb, next.second)) {
continue;
} else if (p.first >= h+1 && p.second <= min(seb, next.second)) {
p = {h+1, min(seb, next.second)};
}
dfs(next.first, h+1, min(seb, next.second));
}
in[x] = false;
}
int main() {
INTHENAMEOFGOD
input >> N >> M >> K >> H;
K--;
G.resize(N);
s.assign(N, -1);
vp.assign(N, {LLONG_MAX, 0});
in.assign(N, false);
for (ll m = 0; m < M; m++) {
input >> a >> b >> c;
a--; b--;
G[a].emplace_back(b, c);
G[b].emplace_back(a, c);
}
dfs(K, 0, LLONG_MAX);
s[K] = 0;
for (ll val : s) {
cout << val << "\n";
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 20/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1892 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 2244 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2304 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 2412 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2632 KiB | |||
6 | Időlimit túllépés | 0/2 | 600ms | 2756 KiB | |||
7 | Elfogadva | 2/2 | 8ms | 3300 KiB | |||
8 | Elfogadva | 2/2 | 17ms | 3088 KiB | |||
9 | Elfogadva | 1/1 | 4ms | 3456 KiB | |||
10 | Elfogadva | 1/1 | 418ms | 3432 KiB | |||
11 | Időlimit túllépés | 0/1 | 587ms | 2804 KiB | |||
12 | Időlimit túllépés | 0/1 | 560ms | 2872 KiB | |||
13 | Időlimit túllépés | 0/2 | 556ms | 4108 KiB | |||
14 | Időlimit túllépés | 0/2 | 573ms | 3384 KiB | |||
15 | Időlimit túllépés | 0/2 | 584ms | 3732 KiB | |||
16 | Időlimit túllépés | 0/2 | 584ms | 3836 KiB | |||
17 | Időlimit túllépés | 0/2 | 569ms | 3684 KiB | |||
18 | Időlimit túllépés | 0/2 | 565ms | 3988 KiB | |||
19 | Időlimit túllépés | 0/2 | 554ms | 3660 KiB | |||
20 | Időlimit túllépés | 0/2 | 560ms | 4028 KiB | |||
21 | Időlimit túllépés | 0/1 | 565ms | 4260 KiB | |||
22 | Időlimit túllépés | 0/1 | 578ms | 4456 KiB | |||
23 | Időlimit túllépés | 0/1 | 569ms | 4692 KiB | |||
24 | Időlimit túllépés | 0/1 | 561ms | 4804 KiB | |||
25 | Időlimit túllépés | 0/2 | 649ms | 4780 KiB | |||
26 | Időlimit túllépés | 0/2 | 558ms | 4716 KiB | |||
27 | Időlimit túllépés | 0/2 | 554ms | 4792 KiB | |||
28 | Elfogadva | 2/2 | 54ms | 7032 KiB | |||
29 | Elfogadva | 2/2 | 64ms | 7144 KiB | |||
30 | Elfogadva | 2/2 | 61ms | 6948 KiB | |||
31 | Elfogadva | 2/2 | 59ms | 6972 KiB | |||
32 | Elfogadva | 2/2 | 65ms | 6944 KiB |