Pagini recente » Cod sursa (job #1371290) | Cod sursa (job #1266633) | Cod sursa (job #373886) | Cod sursa (job #1310784) | Cod sursa (job #1758928)
#include <fstream>
#include <climits>
using namespace std;
unsigned short int N, M;
unsigned short int K;
unsigned short int C[16];
unsigned short int x[10001], y[10001], z[10001];
bool okay;
unsigned short int i;
unsigned short int sol[2001];
int main ()
{
ifstream fin ("ubuntzei.in");
fin >> N >> M;
fin >> K;
for (i=1; i<=K; i++)
fin >> C[i];
for (i=1; i<=M; i++)
fin >> x[i] >> y[i] >> z[i];
fin.close();
for (i=1; i<=M; i++)
if (x[i] == 1)
sol[y[i]] = z[i];
for (i=2; i<=N; i++)
if (sol[i] == 0)
sol[i] = USHRT_MAX;
while (okay == 0)
{
okay = 1;
for (i=1; i<=M; i++)
if (sol[y[i]] > sol[x[i]] + z[i])
{
sol[y[i]] = sol[x[i]] + z[i];
okay = 0;
}
}
for (i=2; i<=N; i++)
if (sol[i] == USHRT_MAX)
sol[i] = 0;
ofstream fout ("ubuntzei.out");
fout << sol[N];
fout.close();
return 0;
}