11162022-03-03 23:44:00peti1234Hálózati átvitelcpp14Accepted 50/5048ms14748 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
*/
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms1824 KiB
2Accepted0/01ms2036 KiB
3Accepted1/11ms1964 KiB
4Accepted1/11ms1968 KiB
5Accepted2/21ms1968 KiB
6Accepted2/21ms1980 KiB
7Accepted2/22ms1988 KiB
8Accepted2/22ms2008 KiB
9Accepted1/12ms2776 KiB
10Accepted1/13ms2800 KiB
11Accepted1/14ms2972 KiB
12Accepted1/16ms3040 KiB
13Accepted2/24ms3088 KiB
14Accepted2/26ms3160 KiB
15Accepted2/213ms3416 KiB
16Accepted2/29ms3552 KiB
17Accepted2/210ms3672 KiB
18Accepted2/212ms3812 KiB
19Accepted2/210ms3944 KiB
20Accepted2/212ms4072 KiB
21Accepted1/124ms11592 KiB
22Accepted1/128ms11768 KiB
23Accepted1/134ms12120 KiB
24Accepted1/137ms12372 KiB
25Accepted2/243ms12772 KiB
26Accepted2/243ms13052 KiB
27Accepted2/248ms13348 KiB
28Accepted2/239ms13664 KiB
29Accepted2/241ms13940 KiB
30Accepted2/239ms14204 KiB
31Accepted2/239ms14468 KiB
32Accepted2/239ms14748 KiB