Pagini recente » Cod sursa (job #797923) | Cod sursa (job #2582669) | Cod sursa (job #1190218) | Cod sursa (job #1720374) | Cod sursa (job #7150)
Cod sursa(job #7150)
#include <fstream>
#include <vector>
using namespace std;
#define MAX 15001
#define INF 1000000001
//ifstream fin ("radiatie.in");
//ofstream fout ("radiatie.out");
FILE *fin = fopen("radiatie.in", "r");
FILE *fout = fopen("radiatie.out", "w");
int n, m, k;
vector<vector<long long int> > c;
void RF();
int main()
{
// fin >> n >> m >> k;
fscanf(fin,"%d%d%d",&n,&m,&k);
int v1, v2, co;
c.resize(n+1);
for ( int i = 1; i <= n; i++ )
{
c[i].resize(n+1);
c[i][i] = INF;
for ( int j = 1; j <= n; j++ )
{
c[i][j] = INF;
}
}
for ( int i = 1; i <= m; i++ )
{
// fin >> v1 >> v2 >> co;
fscanf(fin,"%d%d%d",&v1,&v2,&co);
c[v1][v2] = co;
c[v2][v1] = co;
}
RF();
for ( int i = 1; i <= k; i++ )
{
// fin >> v1 >> v2;
fscanf(fin,"%d%d",&v1,&v2);
// fout << c[v1][v2] << "\n";
fprintf(fout,"%d\n", c[v1][v2]);
}
fclose(fin);
fclose(fout);
return 0;
}
void RF()
{
for(int k = 1; k <= n; k++)
{
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
if ( c[i][k] > c[k][j] )
{
if ( c[i][j] > c[i][k] )
{
c[i][j] = c[i][k];
}
}
else
{
if ( c[i][j] > c[k][j] )
{
c[i][j] = c[k][j];
}
}
}
}
}
}