9634 2024. 02. 23 15:51:35 PallanekPéter Hálózati átvitel cpp14 Elfogadva 50/50 46ms 13336 KiB
#include <bits/stdc++.h>
using namespace std;
vector<array<int, 3>> g;
bool seen[100001];

int main() {
	int n,m,k,h;
	cin >> n >> m >> k >> h;
	for (int i=0;i<m;i++){
		int u,v,b;
		cin >> u >> v >> b;
		g.push_back({u,v,b});
	}
	vector<vector<int>> dp(n+1,vector<int>(h+1,0));
	dp[k][0]=1e9;
	for (int j=1;j<=h;j++){
		for (int i=1;i<=n;i++) dp[i][j]=dp[i][j-1];
        for (array<int, 3> edge:g){
            dp[edge[0]][j]=max(dp[edge[0]][j],min(dp[edge[1]][j-1],edge[2]));
            dp[edge[1]][j]=max(dp[edge[1]][j],min(dp[edge[0]][j-1],edge[2]));
		}
	}
	for (int i=1;i<=n;i++){
		if (i==k) cout<< 0 <<"\n";
		else{
		 if (dp[i][h]==0) cout<< -1 << "\n";
		 else cout << dp[i][h] << "\n";
		}
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1820 KiB
2 Elfogadva 0/0 3ms 2064 KiB
3 Elfogadva 1/1 3ms 2248 KiB
4 Elfogadva 1/1 3ms 2468 KiB
5 Elfogadva 2/2 3ms 2684 KiB
6 Elfogadva 2/2 3ms 2900 KiB
7 Elfogadva 2/2 3ms 3140 KiB
8 Elfogadva 2/2 3ms 3104 KiB
9 Elfogadva 1/1 4ms 3356 KiB
10 Elfogadva 1/1 4ms 3488 KiB
11 Elfogadva 1/1 8ms 3540 KiB
12 Elfogadva 1/1 7ms 3768 KiB
13 Elfogadva 2/2 6ms 4004 KiB
14 Elfogadva 2/2 8ms 4216 KiB
15 Elfogadva 2/2 13ms 4372 KiB
16 Elfogadva 2/2 12ms 4336 KiB
17 Elfogadva 2/2 13ms 4628 KiB
18 Elfogadva 2/2 14ms 4848 KiB
19 Elfogadva 2/2 13ms 4656 KiB
20 Elfogadva 2/2 13ms 4904 KiB
21 Elfogadva 1/1 24ms 11956 KiB
22 Elfogadva 1/1 28ms 11600 KiB
23 Elfogadva 1/1 32ms 11528 KiB
24 Elfogadva 1/1 37ms 11916 KiB
25 Elfogadva 2/2 43ms 13332 KiB
26 Elfogadva 2/2 43ms 13256 KiB
27 Elfogadva 2/2 46ms 13336 KiB
28 Elfogadva 2/2 41ms 12136 KiB
29 Elfogadva 2/2 45ms 13292 KiB
30 Elfogadva 2/2 43ms 13288 KiB
31 Elfogadva 2/2 43ms 13320 KiB
32 Elfogadva 2/2 46ms 13316 KiB