Pagini recente » preONI 2007, Runda 3, Clasa a 10-a | Cod sursa (job #989836) | Clasament razvanlazar2004 | Cod sursa (job #527097) | Cod sursa (job #7069)
Cod sursa(job #7069)
#include <fstream>
#define INF 99999999
#define MAX 15001
using namespace std;
int d[MAX][MAX];
int m, n, K;
int maxim(int x, int y);
void Solve();
int main()
{
int i, j, v1, v2, c;
ifstream fin("radiatie.in");;
fin >> n >> m >> K;
for (i = 1; i <= n; i++)
for (j = i; j <= n; j++)
d[i][j] = d[j][i] = INF;
for (i = 1; i <= m; i++)
{
fin >> v1 >> v2 >> c;
d[v1][v2] = d[v2][v1] = c;
}
Solve();
ofstream fout("radiatie.out");
for (i = 1; i <= K; i++)
{
fin >> v1 >> v2;
fout << d[v1][v2] << "\n";
}
fin.close();
fout.close();
}
void Solve()
{
int i, j, k;
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if (d[i][j] > maxim(d[i][k], d[k][j]))
d[i][j] = maxim(d[i][k], d[k][j]);
}
int maxim(int x, int y)
{
return x > y ? x : y;
}