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