42482023-03-19 16:21:18nkdorka1212Hálózati átvitelcpp17Futási hiba 0/5019ms5704 KiB
#include <bits/stdc++.h>

using namespace std;

struct edge
{
    int a,b,w;
};

int n,m,k,h;
vector<edge>e;
vector<pair<int,int>>velo; // {velo,distance}

void bellman_ford(int k)
{
   velo[k]={INT_MAX,0};
   for(int i=1;i<=h;i++)
   {
       for(int j=1;j<=m;j++)  //e[j].a,e[j].b
       {
           if(min(e[j].w,velo[e[j].a].first)> velo[e[j].b].first && velo[e[j].a].second+1 <h)
           {
               velo[e[j].b].first=min(e[j].w,velo[e[j].a].first);
               velo[e[j].w].second=velo[e[j].a].second+1;
           }
       }
   }

}

int main()
{
    cin>>n>>m>>k>>h;
    e.resize(m+1);
    velo.resize(n+1,{0,0});
    for(int i=1;i<=m;i++)
    {
        cin>>e[i].a>>e[i].b>>e[i].w;
    }
    bellman_ford(k);
    velo[k].first=0;
    for(int i=1;i<=n;i++)
    {
        cout<<velo[i].first<<"\n";
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/03ms2020 KiB
2Futási hiba0/03ms2200 KiB
3Futási hiba0/13ms2408 KiB
4Futási hiba0/13ms2540 KiB
5Futási hiba0/23ms2752 KiB
6Futási hiba0/23ms2884 KiB
7Futási hiba0/23ms3160 KiB
8Futási hiba0/23ms3116 KiB
9Futási hiba0/14ms3660 KiB
10Futási hiba0/14ms3656 KiB
11Futási hiba0/14ms3804 KiB
12Futási hiba0/17ms4036 KiB
13Futási hiba0/24ms4008 KiB
14Futási hiba0/27ms4372 KiB
15Futási hiba0/210ms4564 KiB
16Futási hiba0/29ms4668 KiB
17Futási hiba0/210ms4516 KiB
18Futási hiba0/29ms4520 KiB
19Futási hiba0/210ms4516 KiB
20Futási hiba0/210ms4544 KiB
21Futási hiba0/19ms4888 KiB
22Futási hiba0/114ms4996 KiB
23Futási hiba0/116ms5312 KiB
24Futási hiba0/117ms5436 KiB
25Futási hiba0/218ms5448 KiB
26Futási hiba0/218ms5452 KiB
27Futási hiba0/219ms5480 KiB
28Futási hiba0/219ms5452 KiB
29Futási hiba0/218ms5660 KiB
30Futási hiba0/218ms5656 KiB
31Futási hiba0/218ms5704 KiB
32Futási hiba0/219ms5628 KiB