43692023-03-27 10:32:40semmiHálózati átvitelcpp17Elfogadva 50/5046ms5868 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, m, k, h;
    cin >> n >> m >> k >> h;
    vector<vector<pair<int, int>>> adj(n+1);
    vector<int> dist(n+1, -1), dist2(n+1, -1);
    
    dist[k] = INT_MAX;
    dist2[k] = INT_MAX;
    
    for(int i = 0;i < m;i++ ) {
        int a, b, c;
        cin >> a >> b >> c;
        adj[a].push_back({b, c});
        adj[b].push_back({a, c});
    }

    
    for(int i = 0;i < h;i++ ) {
        for(int j = 1;j <= n;j++ ) {
            for(int k = 0;k < adj[j].size();k++ ) { 
                if(dist[adj[j][k].first] < min(adj[j][k].second, dist2[j])) {
                    dist[adj[j][k].first] = min(adj[j][k].second, dist2[j]);
                    //cout << dist[adj[j][k].first] << ' ' << min(dist[adj[j][k].second], dist2[j])<< endl;
                }
            }
        }
        dist2 = dist;
    }
    dist[k] = 0;
    
    for(int i = 1;i<=n;i++ ) {
        cout << dist[i] << endl;
    }
    
    
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1824 KiB
2Elfogadva0/03ms2204 KiB
3Elfogadva1/13ms2240 KiB
4Elfogadva1/13ms2460 KiB
5Elfogadva2/23ms2676 KiB
6Elfogadva2/23ms2760 KiB
7Elfogadva2/23ms3040 KiB
8Elfogadva2/23ms2996 KiB
9Elfogadva1/14ms3552 KiB
10Elfogadva1/16ms3652 KiB
11Elfogadva1/17ms3800 KiB
12Elfogadva1/17ms4008 KiB
13Elfogadva2/26ms4232 KiB
14Elfogadva2/27ms4372 KiB
15Elfogadva2/28ms4596 KiB
16Elfogadva2/28ms4372 KiB
17Elfogadva2/28ms4372 KiB
18Elfogadva2/29ms4372 KiB
19Elfogadva2/210ms4424 KiB
20Elfogadva2/28ms4668 KiB
21Elfogadva1/129ms5216 KiB
22Elfogadva1/132ms5344 KiB
23Elfogadva1/134ms5492 KiB
24Elfogadva1/146ms5752 KiB
25Elfogadva2/241ms5740 KiB
26Elfogadva2/241ms5772 KiB
27Elfogadva2/243ms5868 KiB
28Elfogadva2/227ms5760 KiB
29Elfogadva2/228ms5760 KiB
30Elfogadva2/228ms5756 KiB
31Elfogadva2/228ms5768 KiB
32Elfogadva2/228ms5752 KiB