9569 | 2024. 02. 23 10:33:22 | zsebi | Hálózati átvitel | cpp17 | Hibás válasz 0/50 | 28ms | 7800 KiB |
// halozati.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <queue>
#define ll long long
using namespace std;
ll n, m, kezd, maxim;
struct adat
{
ll lep = 0, lat = 0, ert = -1;
vector<pair<ll, ll>>sz;
};
vector<adat>x;
struct ut
{
ll hova,mini;
};
priority_queue<ut>v;
bool operator<(const ut& a, const ut& b)
{
return a.mini < b.mini;
}
int main()
{
cin >> n >> m >> kezd >> maxim;
x.resize(n + 1);
for (int i = 1; i <= m; ++i)
{
ll a, b, c;
cin >> a >> b >> c;
x[a].sz.push_back({ b,c });
x[b].sz.push_back({ a,c });
}
v.push({ kezd,100001 });
while (!v.empty())
{
ut akt = v.top();
while (x[akt.hova].lat && !v.empty())
{
akt = v.top();
v.pop();
}
if (v.empty())break;
x[akt.hova].lat = 1;
x[akt.hova].ert = akt.mini;
for (auto& e : x[akt.hova].sz)
{
if (!x[e.first].lat && x[akt.hova].lep + 1 <= maxim)
{
ll a = min(x[akt.hova].ert, e.second);
if (a > x[e.first].ert)
{
x[e.first].lep = x[akt.hova].lep + 1;
x[e.first].ert = min(x[akt.hova].ert, e.second);
v.push({ e.first,x[e.first].ert });
}
}
}
}
for (int i = 1; i <= n; ++i)
{
if (i == kezd)cout << "0\n";
else cout << x[i].ert << "\n";
}
return 0;
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 0/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1880 KiB | |||
2 | Hibás válasz | 0/0 | 3ms | 2156 KiB | |||
3 | Hibás válasz | 0/1 | 3ms | 2216 KiB | |||
4 | Hibás válasz | 0/1 | 3ms | 2496 KiB | |||
5 | Hibás válasz | 0/2 | 3ms | 2668 KiB | |||
6 | Hibás válasz | 0/2 | 3ms | 2808 KiB | |||
7 | Hibás válasz | 0/2 | 4ms | 3056 KiB | |||
8 | Hibás válasz | 0/2 | 3ms | 3012 KiB | |||
9 | Hibás válasz | 0/1 | 4ms | 3296 KiB | |||
10 | Hibás válasz | 0/1 | 4ms | 3568 KiB | |||
11 | Hibás válasz | 0/1 | 6ms | 3752 KiB | |||
12 | Hibás válasz | 0/1 | 8ms | 3908 KiB | |||
13 | Hibás válasz | 0/2 | 6ms | 3952 KiB | |||
14 | Hibás válasz | 0/2 | 8ms | 4128 KiB | |||
15 | Hibás válasz | 0/2 | 12ms | 5036 KiB | |||
16 | Hibás válasz | 0/2 | 12ms | 5012 KiB | |||
17 | Hibás válasz | 0/2 | 12ms | 5268 KiB | |||
18 | Hibás válasz | 0/2 | 12ms | 5344 KiB | |||
19 | Hibás válasz | 0/2 | 12ms | 5368 KiB | |||
20 | Hibás válasz | 0/2 | 12ms | 5608 KiB | |||
21 | Hibás válasz | 0/1 | 14ms | 6244 KiB | |||
22 | Hibás válasz | 0/1 | 17ms | 6256 KiB | |||
23 | Hibás válasz | 0/1 | 19ms | 6656 KiB | |||
24 | Hibás válasz | 0/1 | 25ms | 7292 KiB | |||
25 | Hibás válasz | 0/2 | 27ms | 7568 KiB | |||
26 | Hibás válasz | 0/2 | 27ms | 7696 KiB | |||
27 | Hibás válasz | 0/2 | 28ms | 7800 KiB | |||
28 | Hibás válasz | 0/2 | 25ms | 7684 KiB | |||
29 | Hibás válasz | 0/2 | 25ms | 7784 KiB | |||
30 | Hibás válasz | 0/2 | 25ms | 7556 KiB | |||
31 | Hibás válasz | 0/2 | 24ms | 7568 KiB | |||
32 | Hibás válasz | 0/2 | 25ms | 7696 KiB |