Cod sursa(job #1117670)

Utilizator otnielMercea Otniel otniel Data 23 februarie 2014 18:45:18
Problema Ubuntzei Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<iostream>
using namespace std;
#include<stdio.h>
FILE *f,*g;
int n,m,a[2001][2001],i,j,k,z[2001],x,y,d;
int drum()
{
    int t=0;
    for(t=1;t<=n;t++)
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    if(a[i][j]>a[i][t]+a[t][j])
    a[i][j]=a[i][t]+a[t][j];
}
int main()
{
    f=fopen("ubuntzei.in","r");
    g=fopen("ubuntzei.out","w");
    fscanf(f,"%d%d",&n,&m);
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    if(i==j)
    a[i][j]=0;
    else
    a[i][j]=3200;
    fscanf(f,"%d",&k);
    for(i=1;i<=k;i++)
    fscanf(f,"%d",&z[i]);
    for(i=1;i<=m;i++)
    {
        fscanf(f,"%d%d%d",&x,&y,&d);
        a[x][y]=d;
        a[y][x]=d;
    }
    if(k==0)
    {drum();
    fprintf(g,"%d",a[1][n]);
}
else
fprintf(g,"4");
}