1326 2022. 05. 13 20:41:28 nkdorka1212 Logisztikai központ cpp11 Hibás válasz 0/50 1.057s 17532 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 0/50
1 Hibás válasz 0/0 2ms 1832 KiB
2 Időlimit túllépés 0/0 1.044s 8268 KiB
3 Hibás válasz 0/4 1ms 3428 KiB
4 Hibás válasz 0/4 1ms 3440 KiB
5 Hibás válasz 0/4 1ms 3444 KiB
6 Hibás válasz 0/4 2ms 3456 KiB
7 Hibás válasz 0/4 2ms 3464 KiB
8 Hibás válasz 0/5 7ms 3488 KiB
9 Időlimit túllépés 0/2 1.026s 10376 KiB
10 Hibás válasz 0/2 135ms 12296 KiB
11 Hibás válasz 0/2 43ms 5256 KiB
12 Hibás válasz 0/2 2ms 5316 KiB
13 Hibás válasz 0/2 319ms 5992 KiB
14 Időlimit túllépés 0/2 1.021s 5196 KiB
15 Időlimit túllépés 0/2 1.037s 7784 KiB
16 Időlimit túllépés 0/2 1.057s 10204 KiB
17 Időlimit túllépés 0/2 1.046s 11316 KiB
18 Hibás válasz 0/2 90ms 17532 KiB
19 Időlimit túllépés 0/2 1.016s 13488 KiB
20 Hibás válasz 0/3 14ms 11656 KiB