Pagini recente » Cod sursa (job #1691229) | Cod sursa (job #931284) | Cod sursa (job #1033971) | Cod sursa (job #913819) | Cod sursa (job #283926)
Cod sursa(job #283926)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int MAX_N = 1030;
int n, m, k;
vector <int> v[MAX_N], c[MAX_N], a[MAX_N];
int d[MAX_N], f[MAX_N];
void bf()
{
int i, z = 1, j, l;
for (i = 1; i <= z; ++i)
{
for (l = 0; l < a[d[i]].size(); ++l)
for (j = 0; j < v[d[i]].size(); ++j)
{
int fiu = v[d[i]][j];
if (!f[fiu]) d[++z] = fiu;
f[fiu] = 1;
a[fiu].push_back(a[d[i]][l] + c[d[i]][j]);
}
}
}
int main()
{
int i, x, y, cost;
freopen("pitici.in", "r", stdin);
freopen("pitici.out", "w", stdout);
scanf("%d %d %d", &n, &m, &k);
for (i = 1; i <= m; ++i)
{
scanf("%d %d %d", &x, &y, &cost);
v[x].push_back(y);
c[x].push_back(cost);
}
d[1] = 1;
a[1].push_back(0);
bf();
sort(a[n].begin(), a[n].end());
for (i = 0; i < k; ++i) printf("%d ", a[n][i]);
}