9259 2024. 02. 19 12:45:58 Ablablabla Hálózati átvitel cpp17 Hibás válasz 0/50 28ms 7372 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

const int INF = 2e9 + 7;

struct pont{
    int a; // akt
    int t; // tav
    int h; // hasznalt
};

struct comp{
    bool operator()(pont a, pont b){
        return a.t < b.t;
    }
};

int main()
{
    int n, m, k, h;
    cin >> n >> m >> k >> h;
    k--;

    vector<vector<pii>> csucsok(n, vector<pii>());
    for(int i = 0; i < m; i++){
        int a, b, c;
        cin >> a >> b >> c;
        a--; b--;

        csucsok[a].push_back({b, c});
        csucsok[b].push_back({a, c});
    }

    priority_queue<pont, vector<pont>, comp> bejar;
    bejar.push({k, INF, 0});
    vector<bool> bejart(n, 0);
    vector<int> megoldas(n, -1);

    while(!bejar.empty()){
        int akt = bejar.top().a;
        int tav = bejar.top().t;
        int hasznalt = bejar.top().h;
        bejar.pop();

        if(hasznalt > h || bejart[akt]) continue;

        bejart[akt] = 1;
        megoldas[akt] = tav;

        for(pii x : csucsok[akt]){
            if(bejart[x.first]) continue;

            bejar.push({x.first, min(tav, x.second), hasznalt + 1});
        }
    }

    megoldas[0] = 0;
    for(int x : megoldas){
        cout << x << "\n";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 0/50
1 Elfogadva 0/0 3ms 1816 KiB
2 Hibás válasz 0/0 3ms 2080 KiB
3 Hibás válasz 0/1 3ms 2120 KiB
4 Hibás válasz 0/1 3ms 2332 KiB
5 Hibás válasz 0/2 3ms 2552 KiB
6 Hibás válasz 0/2 3ms 2640 KiB
7 Hibás válasz 0/2 3ms 2680 KiB
8 Hibás válasz 0/2 3ms 2924 KiB
9 Hibás válasz 0/1 4ms 2888 KiB
10 Hibás válasz 0/1 4ms 3188 KiB
11 Hibás válasz 0/1 6ms 3688 KiB
12 Hibás válasz 0/1 8ms 3912 KiB
13 Hibás válasz 0/2 6ms 4080 KiB
14 Hibás válasz 0/2 8ms 4204 KiB
15 Hibás válasz 0/2 13ms 5232 KiB
16 Hibás válasz 0/2 13ms 5016 KiB
17 Hibás válasz 0/2 13ms 5284 KiB
18 Hibás válasz 0/2 13ms 5464 KiB
19 Hibás válasz 0/2 13ms 5508 KiB
20 Hibás válasz 0/2 13ms 5480 KiB
21 Hibás válasz 0/1 14ms 5616 KiB
22 Hibás válasz 0/1 17ms 5740 KiB
23 Hibás válasz 0/1 21ms 6308 KiB
24 Hibás válasz 0/1 24ms 6620 KiB
25 Hibás válasz 0/2 26ms 6992 KiB
26 Hibás válasz 0/2 26ms 6728 KiB
27 Hibás válasz 0/2 28ms 7364 KiB
28 Hibás válasz 0/2 25ms 7276 KiB
29 Hibás válasz 0/2 26ms 7276 KiB
30 Hibás válasz 0/2 26ms 7280 KiB
31 Hibás válasz 0/2 24ms 7372 KiB
32 Hibás válasz 0/2 25ms 7320 KiB