Cod sursa(job #873056)

Utilizator miadaradiciDaradici Mia miadaradici Data 6 februarie 2013 20:50:48
Problema Ubuntzei Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include<fstream>
using namespace std;
ifstream f ("ubuntzei.in");
ofstream g ("ubuntzei.out");
 
int n, a[2000][2000],v1,v2,v3,v[2000],k,m;
 
void citire()
{
    int i, j;
    f>>n>>m>>k;
	for ( i=1; i<=k; i++ )
		f>>v[i];
	for ( i=1; i<=m; i++ )
	{
		f>>v1>>v2>>v3;
		a[v1][v2]=v3;
		a[v2][v1]=v3;
	}
}
 
void roy_floyd()
{
    int i, j, k;
    for (k = 1; k <= n; k++)
        for (i = 1; i <= n; i++)
            for (j = 1; j <= n; j++)
                if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j)
                    a[i][j] = a[i][k] + a[k][j];
}
 
void afisare()
{
    g<<a[1][n];
}
 
 
int main()
{
    citire();
    roy_floyd();
    afisare();
     
}