Cod sursa(job #1122912)

Utilizator Vladinho97Iordan Vlad Vladinho97 Data 25 februarie 2014 21:17:40
Problema Ubuntzei Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <cstdio>
#include <vector>
using namespace std;
struct vecini
{
    vector <int> v;
};
vecini g[2009];
int c[20],a[2009][2009],d[2009][2009];
int main()
{
    int n,m,i,j,k,nr,x,y,z;
    freopen("ubuntzei.in","r",stdin);
    freopen("ubuntzei.out","w",stdout);
    scanf("%d%d",&n,&m);
    scanf("%d",&nr);
    for(i=1;i<=nr;i++)
        scanf("%d",&c[i]);
    for(i=1;i<=m;i++)
    {
        scanf("%d%d%d",&x,&y,&z);
        a[x][y]=z;
        a[y][x]=z;
    }
    for(k=1;k<=n;k++)
    {
        for(i=1;i<=n;i++)
            for(j=i+1;j<=n;j++)
                if(a[i][k]!=0&&a[j][k]!=0)
                    if(a[i][k]+a[k][j]<a[i][j]||a[i][j]==0)
                    {
                        a[i][j]=a[i][k]+a[k][j];
                        a[j][i]=a[i][k]+a[k][j];
                    }
    }
    printf("%d",a[1][n]);
    return 0;
}