93932024-02-21 12:09:52csaron71Hálózati átvitelcpp17Hibás válasz 0/5037ms18616 KiB
#include <bits/stdc++.h>
#include <queue>
using namespace std;

int main() {
	int n, m, k, h;
	cin >> n >> m >> k >> h;
	vector<vector<pair<int, int> > > elek(n+1, vector<pair<int, int> >());
	for (int i=0; i<m; i++)  {
		int x, y, z;
		cin >> x >> y >> z;
		elek[x].push_back({y, z});
		elek[y].push_back({x, z});
	}

	vector<vector<int> > tav(n+1, vector<int>(h+1, -10e5-1));
	tav[k][0]=10e5+1;
	priority_queue<pair<int, pair<int, int> > > sor; //hany, honnan, hova
	vector<bool> volt(n+1, false);
	volt[k]=true;
	sor.push({0, {k, k}});
	while (sor.size()>0) {
		int messze=sor.top().first;
		int honnan=sor.top().second.first;
		int hova=sor.top().second.second;
		sor.pop();
		volt[hova]=true;
		//cout << hova << ": ";
		for (int i=1; i<h+1; i++) {
			tav[hova][i]=max(tav[hova][i], min(messze, tav[honnan][i-1]));
			//cout << tav[hova][i] << " ";
		}
		//cout << "\n";
		for (pair<int, int> sz : elek[hova]) {
			if (volt[sz.first]==false) {
				sor.push({sz.second, {hova, sz.first}});
			}

		}
	}

	for (int i=1; i<n+1; i++) {
		int epp=-10e5+1;
		for (int j=0; j<h+1; j++) {
			//cout << tav[i][j]<< " ";
			epp=max(epp, tav[i][j]);
		}
		//cout << epp << "\n";
		if (epp==10e5+1) {
			cout << "0\n";
		}
		else {
			cout << epp << "\n";
		}
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/03ms1808 KiB
2Hibás válasz0/03ms2096 KiB
3Hibás válasz0/13ms2292 KiB
4Hibás válasz0/13ms2460 KiB
5Hibás válasz0/23ms2692 KiB
6Hibás válasz0/23ms2780 KiB
7Hibás válasz0/24ms2896 KiB
8Hibás válasz0/24ms3232 KiB
9Hibás válasz0/14ms3412 KiB
10Hibás válasz0/14ms3704 KiB
11Hibás válasz0/17ms4112 KiB
12Hibás válasz0/18ms4488 KiB
13Hibás válasz0/27ms4464 KiB
14Hibás válasz0/28ms4632 KiB
15Hibás válasz0/214ms5440 KiB
16Hibás válasz0/214ms5352 KiB
17Hibás válasz0/214ms5576 KiB
18Hibás válasz0/216ms6120 KiB
19Hibás válasz0/214ms6020 KiB
20Hibás válasz0/214ms6184 KiB
21Hibás válasz0/119ms13312 KiB
22Hibás válasz0/125ms13764 KiB
23Hibás válasz0/129ms13896 KiB
24Hibás válasz0/134ms15024 KiB
25Hibás válasz0/235ms16836 KiB
26Hibás válasz0/235ms16716 KiB
27Hibás válasz0/237ms17424 KiB
28Hibás válasz0/229ms16200 KiB
29Hibás válasz0/232ms17800 KiB
30Hibás válasz0/230ms18016 KiB
31Hibás válasz0/230ms18352 KiB
32Hibás válasz0/232ms18616 KiB