13272022-05-13 20:41:58nkdorka1212Hálózati átvitelcpp11Elfogadva 50/5050ms7812 KiB
#include <bits/stdc++.h>

using namespace std;

int n,m,k,h;
vector<vector<pair<int,int>>>g;
vector<int>velocity;
vector<bool>rewrote;
vector<int>velocity2;

void bellmann_ford()
{
    for(int i=1;i<=h;i++)
    {
        //rewrote.assign(n+1,0);
        for(int j=1;j<=n;j++)
        {
            for(auto x:g[j])
            {
                if(velocity[x.first]<min(velocity2[j],x.second)&& !rewrote[j])
                {
                    velocity[x.first]=min(velocity2[j],x.second);
                    //rewrote[x.first]=true;
                }
            }
        }
        velocity2=velocity;
    }
}

int main()
{
    cin>>n>>m>>k>>h;
    velocity.resize(n+1,-1);
    velocity2.resize(n+1,-1);
    g.resize(n+1);
    rewrote.resize(n+1,0);
    for(int i=1;i<=m;i++)
    {
        int u,v,w;
        cin>>u>>v>>w;
        g[u].push_back({v,w});
        g[v].push_back({u,w});
    }
    velocity[k]=INT_MAX;
    velocity2[k]=INT_MAX;
    bellmann_ford();
    for(int i=1;i<=n;i++)
    {
        if(i==k)
        {
            cout<<0<<'\n';
        }else
        {
            cout<<velocity[i]<<'\n';
        }
    }
    return 0;
}

/*4 6 2 2
1 2 1
2 3 1
2 4 1
1 3 1
1 4 5
3 4 5

4 5 1 2
1 3 1
1 2 1
2 3 3
3 4 3
1 4 3

6 8 1 3
1 3 1
1 2 1
2 3 3
3 4 3
1 4 3
1 5 5
5 6 5
2 6 5

7 9 2 3
2 1 2
2 4 4
2 4 4
1 3 3
3 5 2
4 5 3
4 6 5
6 7 8
1 7 9

3 2 1 1
1 2 4
2 3 4

4 5 1 2
1 2 3
1 3 2
1 4 1
2 3 3
3 4 2
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms1868 KiB
2Elfogadva0/01ms1888 KiB
3Elfogadva1/11ms1912 KiB
4Elfogadva1/11ms1924 KiB
5Elfogadva2/21ms1924 KiB
6Elfogadva2/22ms1944 KiB
7Elfogadva2/22ms1968 KiB
8Elfogadva2/22ms1988 KiB
9Elfogadva1/12ms2028 KiB
10Elfogadva1/13ms2060 KiB
11Elfogadva1/16ms2284 KiB
12Elfogadva1/18ms2492 KiB
13Elfogadva2/24ms2408 KiB
14Elfogadva2/28ms2608 KiB
15Elfogadva2/212ms2940 KiB
16Elfogadva2/216ms3072 KiB
17Elfogadva2/212ms3204 KiB
18Elfogadva2/213ms3332 KiB
19Elfogadva2/212ms3464 KiB
20Elfogadva2/214ms3600 KiB
21Elfogadva1/121ms4048 KiB
22Elfogadva1/139ms4656 KiB
23Elfogadva1/132ms4968 KiB
24Elfogadva1/139ms5372 KiB
25Elfogadva2/245ms5852 KiB
26Elfogadva2/245ms6136 KiB
27Elfogadva2/250ms6548 KiB
28Elfogadva2/227ms6724 KiB
29Elfogadva2/227ms7008 KiB
30Elfogadva2/235ms7280 KiB
31Elfogadva2/230ms7544 KiB
32Elfogadva2/230ms7812 KiB