1327 2022. 05. 13 20:41:58 nkdorka1212 Hálózati átvitel cpp11 Elfogadva 50/50 50ms 7812 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 Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1868 KiB
2 Elfogadva 0/0 1ms 1888 KiB
3 Elfogadva 1/1 1ms 1912 KiB
4 Elfogadva 1/1 1ms 1924 KiB
5 Elfogadva 2/2 1ms 1924 KiB
6 Elfogadva 2/2 2ms 1944 KiB
7 Elfogadva 2/2 2ms 1968 KiB
8 Elfogadva 2/2 2ms 1988 KiB
9 Elfogadva 1/1 2ms 2028 KiB
10 Elfogadva 1/1 3ms 2060 KiB
11 Elfogadva 1/1 6ms 2284 KiB
12 Elfogadva 1/1 8ms 2492 KiB
13 Elfogadva 2/2 4ms 2408 KiB
14 Elfogadva 2/2 8ms 2608 KiB
15 Elfogadva 2/2 12ms 2940 KiB
16 Elfogadva 2/2 16ms 3072 KiB
17 Elfogadva 2/2 12ms 3204 KiB
18 Elfogadva 2/2 13ms 3332 KiB
19 Elfogadva 2/2 12ms 3464 KiB
20 Elfogadva 2/2 14ms 3600 KiB
21 Elfogadva 1/1 21ms 4048 KiB
22 Elfogadva 1/1 39ms 4656 KiB
23 Elfogadva 1/1 32ms 4968 KiB
24 Elfogadva 1/1 39ms 5372 KiB
25 Elfogadva 2/2 45ms 5852 KiB
26 Elfogadva 2/2 45ms 6136 KiB
27 Elfogadva 2/2 50ms 6548 KiB
28 Elfogadva 2/2 27ms 6724 KiB
29 Elfogadva 2/2 27ms 7008 KiB
30 Elfogadva 2/2 35ms 7280 KiB
31 Elfogadva 2/2 30ms 7544 KiB
32 Elfogadva 2/2 30ms 7812 KiB