1116 2022. 03. 03 23:44:00 peti1234 Hálózati átvitel cpp14 Elfogadva 50/50 48ms 14748 KiB
#include <bits/stdc++.h>

using namespace std;
const int c=200005;
int n, m, k, h, dp[10005][105], l[c], r[c], s[c], sok=1e9;
int main()
{
    /*
    Bellman-Ford szeruseg
    dp[i][j] az i. csucsba maximum j lepesben mekkora a legjobb sebesseg (vegtelen, ha nincs ut)
    a j. reteg az elek vizsgalata utan konnyen megkaphato a j-1.bol
    */
    cin >> n >> m >> k >> h;
    for (int i=1; i<=m; i++) {
        cin >> l[i] >> r[i] >> s[i];
    }
    for (int i=1; i<=n; i++) {
        dp[i][0]=-1;
    }
    dp[k][0]=sok;
    // igy indulunk (k-ra igazabol 0 a valasz, de igy kenyelmesebb vele szamolni minimumot)

    for (int i=1; i<=h; i++) {
        for (int j=1; j<=n; j++) {
            dp[j][i]=dp[j][i-1];
            // az utolso korben ugyanott marad
        }
        for (int j=1; j<=m; j++) {
            int a=l[j], b=r[j], x=s[j];
            // ezek a valtasok, ha felhasznalunk egy elt
            dp[a][i]=max(dp[a][i], min(dp[b][i-1], x));
            dp[b][i]=max(dp[b][i], min(dp[a][i-1], x));
        }
    }
    // csak ki kell irni a megfelelo ertekeket
    for (int i=1; i<=n; i++) {
        cout << (dp[i][h]==sok ? 0 : dp[i][h]) << "\n";
    }
    return 0;
}
/*
5 6 1 2
1 2 2
1 5 4
1 3 2
1 4 3
5 4 1
5 3 4
*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1824 KiB
2 Elfogadva 0/0 1ms 2036 KiB
3 Elfogadva 1/1 1ms 1964 KiB
4 Elfogadva 1/1 1ms 1968 KiB
5 Elfogadva 2/2 1ms 1968 KiB
6 Elfogadva 2/2 1ms 1980 KiB
7 Elfogadva 2/2 2ms 1988 KiB
8 Elfogadva 2/2 2ms 2008 KiB
9 Elfogadva 1/1 2ms 2776 KiB
10 Elfogadva 1/1 3ms 2800 KiB
11 Elfogadva 1/1 4ms 2972 KiB
12 Elfogadva 1/1 6ms 3040 KiB
13 Elfogadva 2/2 4ms 3088 KiB
14 Elfogadva 2/2 6ms 3160 KiB
15 Elfogadva 2/2 13ms 3416 KiB
16 Elfogadva 2/2 9ms 3552 KiB
17 Elfogadva 2/2 10ms 3672 KiB
18 Elfogadva 2/2 12ms 3812 KiB
19 Elfogadva 2/2 10ms 3944 KiB
20 Elfogadva 2/2 12ms 4072 KiB
21 Elfogadva 1/1 24ms 11592 KiB
22 Elfogadva 1/1 28ms 11768 KiB
23 Elfogadva 1/1 34ms 12120 KiB
24 Elfogadva 1/1 37ms 12372 KiB
25 Elfogadva 2/2 43ms 12772 KiB
26 Elfogadva 2/2 43ms 13052 KiB
27 Elfogadva 2/2 48ms 13348 KiB
28 Elfogadva 2/2 39ms 13664 KiB
29 Elfogadva 2/2 41ms 13940 KiB
30 Elfogadva 2/2 39ms 14204 KiB
31 Elfogadva 2/2 39ms 14468 KiB
32 Elfogadva 2/2 39ms 14748 KiB