46962023-03-31 09:28:04Erik_GepardHálózati átvitelcpp17Hibás válasz 0/5019ms7620 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

int n, m, h, start;
struct elek{
    int a;
    int b;
    int suly;
};
vector<elek> e;
void bellmann_ford(){
    vector<int> d(n+1, LLONG_MAX/100);
    d[start]=0;
    for(int i=0; i<h; i++){
        for(int j=0; j<2*m; j++){
            if(d[e[j].a]<1e12){
                if(d[e[j].b]>d[e[j].a]+e[j].suly){
                    d[e[j].b]=d[e[j].a]+e[j].suly;
                }
            }
        }
    }
    for(int i=1; i<=n; i++){
        if(d[i]<1e12){
            cout<<d[i]<<"\n";
        }
        else{
            cout<<"-1\n";
        }
    }
}

void solve(){
    cin>>n>>m>>start>>h;
    for(int i=0; i<m; i++){
        int x, y, w;
        elek e1;
        cin>>x>>y>>w;
        e1.a=x;
        e1.b=y;
        e1.suly=w;
        e.push_back(e1);
        e1.a=y;
        e1.b=x;
        e1.suly=w;
        e.push_back(e1);
    }
    bellmann_ford();
}

signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    solve();
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/03ms1832 KiB
2Hibás válasz0/03ms2192 KiB
3Hibás válasz0/13ms2344 KiB
4Hibás válasz0/13ms2696 KiB
5Hibás válasz0/23ms2808 KiB
6Hibás válasz0/23ms3056 KiB
7Hibás válasz0/23ms3312 KiB
8Hibás válasz0/23ms3432 KiB
9Hibás válasz0/13ms3536 KiB
10Hibás válasz0/13ms3532 KiB
11Hibás válasz0/14ms4016 KiB
12Hibás válasz0/14ms4392 KiB
13Hibás válasz0/24ms4084 KiB
14Hibás válasz0/24ms4388 KiB
15Hibás válasz0/28ms5456 KiB
16Hibás válasz0/27ms5680 KiB
17Hibás válasz0/27ms5624 KiB
18Hibás válasz0/28ms5616 KiB
19Hibás válasz0/28ms5620 KiB
20Hibás válasz0/27ms5896 KiB
21Hibás válasz0/112ms5856 KiB
22Hibás válasz0/113ms5780 KiB
23Hibás válasz0/114ms5860 KiB
24Hibás válasz0/116ms7344 KiB
25Hibás válasz0/218ms7616 KiB
26Hibás válasz0/217ms7524 KiB
27Hibás válasz0/219ms7524 KiB
28Hibás válasz0/216ms7620 KiB
29Hibás válasz0/217ms7532 KiB
30Hibás válasz0/217ms7532 KiB
31Hibás válasz0/216ms7532 KiB
32Hibás válasz0/217ms7588 KiB