249312026-02-16 22:13:20ercseferencHálózati átvitelcpp17Időlimit túllépés 40/50592ms17088 KiB
#include <bits/stdc++.h>
using namespace std;
int n,m,k,h;
struct dupla{int a,b;};
struct csucs{vector<int>tav; vector<dupla>kim;};
int main()
{
    //ifstream f("szamok.txt");
    cin>>n>>m>>k>>h;
    vector<csucs>a(n+1);
    for(int i=1; i<=n; i++){
        a[i].tav.resize(h+1);
        fill(a[i].tav.begin(),a[i].tav.end(),-1);}
    for(int i=0; i<m; i++){
        int x,y,z; cin>>x>>y>>z;
        a[x].kim.push_back({y,z});
        a[y].kim.push_back({x,z});}
    vector<int>l1,l2; l1.push_back(k);
    for(int i=0; i<=h; i++)a[k].tav[i]=INT_MAX;
    for(int i=0; i<h; i++){
        for(int j:l1){
            for(dupla l:a[j].kim){
                if(a[l.a].tav[i+1]<min(l.b,a[j].tav[i])){
                    for(int o=i+1; o<=h; o++){
                        a[l.a].tav[o]=min(l.b,a[j].tav[i]);
                        l2.push_back(l.a);}}}}
        l1=l2; l2.clear();}
    for(int i=1; i<=n; i++)
        if(i==k)cout<<0<<'\n';
        else cout<<a[i].tav[h]<<'\n';
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/22ms508 KiB
7Elfogadva2/22ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva1/13ms552 KiB
10Elfogadva1/14ms752 KiB
11Elfogadva1/19ms1136 KiB
12Elfogadva1/110ms864 KiB
13Elfogadva2/210ms1080 KiB
14Elfogadva2/214ms1032 KiB
15Elfogadva2/243ms1640 KiB
16Elfogadva2/228ms1268 KiB
17Elfogadva2/232ms1504 KiB
18Elfogadva2/252ms1816 KiB
19Elfogadva2/246ms1540 KiB
20Elfogadva2/232ms1564 KiB
21Elfogadva1/154ms6404 KiB
22Elfogadva1/1101ms7824 KiB
23Elfogadva1/1119ms9288 KiB
24Elfogadva1/1165ms10516 KiB
25Elfogadva2/2263ms12948 KiB
26Elfogadva2/2323ms13276 KiB
27Elfogadva2/2310ms13180 KiB
28Időlimit túllépés0/2587ms14748 KiB
29Időlimit túllépés0/2584ms17004 KiB
30Időlimit túllépés0/2592ms16796 KiB
31Időlimit túllépés0/2583ms16552 KiB
32Időlimit túllépés0/2587ms17088 KiB