246852026-02-13 15:54:14Pedri26Hálózati átvitelcpp17Wrong answer 0/5018ms1076 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int n, m, k, h, elsoel[10001], kovel[20001], mutat[20001], elhossz[20001], eldb, uth[10001]={0}, tav[10001];

void elhozzaadas(int a, int b, int w)
{
    eldb++;
    kovel[eldb]=elsoel[a];
    elsoel[a]=eldb;
    mutat[eldb]=b;
    elhossz[eldb]=w;
}

void szbejar(int k, int* tav)
{
    int vsor[200001], elso=1, utolso=1;
    for(int i=1;i<=n;i++)tav[i]=INT_MAX;
    vsor[elso]=k;
    tav[k]=0;
    //volt[k]=true;
    while(elso<=utolso)
    {
        for(int l=elsoel[vsor[elso]];l!=0;l=kovel[l])
        {
            if(tav[vsor[elso]]+elhossz[l]<tav[mutat[l]] && uth[vsor[elso]]+1<=h)
            {
                utolso++;
                vsor[utolso]=mutat[l];
                tav[mutat[l]]=tav[vsor[elso]]+elhossz[l];
                uth[mutat[l]]=uth[vsor[elso]]+1;
                //cout<<mutat[l]<<"-"<<tav[mutat[l]]<<endl;
            }
        }
        elso++;
    }
}

/*void mbejar()
{
    int vsor2[200001], utso=0;
    //utolso++;
    for(int i=1;i<=alacsony;i++)
    {
        utso++;
        vsor2[utso]=legala[i];
    }

    while(utso>0)
    {
        int aktualis=vsor2[utso];
        s2++;
        m2[s2]=vsor2[utso];
        utso--;
        //cout<<m2[s2]<<" ";
        for(int k=elsoel[aktualis];k!=0;k=kovel[k])
        {
            fokszam[mutat[k]]--;
            //cout<<mutat[k]<<"-"<<fokszam[mutat[k]]<<endl;
            if(fokszam[mutat[k]]==0)
            {
                utso++;
                vsor2[utso]=mutat[k];
                //cout<<mutat[k];
            }
        }
    }
}*/

int main() {
    
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>m>>k>>h;
    for(int i=1;i<=m;i++)
    {
        int b, c, w;
        cin>>b>>c>>w;
        elhozzaadas(b, c, w);
        elhozzaadas(c, b, w);
    }
    szbejar(k, tav);
    for(int i=1;i<=n;i++)
    {
        cout<<tav[i]<<endl;
    }


    return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Wrong answer0/01ms316 KiB
2Wrong answer0/02ms316 KiB
3Wrong answer0/12ms316 KiB
4Wrong answer0/12ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/23ms316 KiB
8Wrong answer0/22ms316 KiB
9Wrong answer0/13ms316 KiB
10Wrong answer0/13ms316 KiB
11Wrong answer0/14ms564 KiB
12Wrong answer0/14ms564 KiB
13Wrong answer0/24ms532 KiB
14Wrong answer0/24ms564 KiB
15Wrong answer0/26ms712 KiB
16Wrong answer0/26ms564 KiB
17Wrong answer0/26ms864 KiB
18Wrong answer0/26ms820 KiB
19Wrong answer0/26ms832 KiB
20Wrong answer0/26ms844 KiB
21Wrong answer0/117ms964 KiB
22Wrong answer0/118ms1060 KiB
23Runtime error0/16ms908 KiB
24Runtime error0/16ms564 KiB
25Runtime error0/26ms824 KiB
26Runtime error0/27ms820 KiB
27Runtime error0/26ms1076 KiB
28Runtime error0/26ms956 KiB
29Runtime error0/26ms820 KiB
30Runtime error0/26ms820 KiB
31Runtime error0/26ms852 KiB
32Runtime error0/24ms580 KiB