Cod sursa(job #2761471)
Utilizator | Stanciu Andreea-Elena AndreeaElena24 | Data | 2 iulie 2021 12:02:39 |
---|---|---|---|
Problema | Traseu | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.06 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("traseu.in");
ofstream g("traseu.out");
int main()
{
int N,M;
int A[60][10000];
int dmin=100;
int S[100];
int s;
f>>N;
f>>M;
//citire
for(int i=1;i<=N;++i)
{
for(int j=1;j<=M;++j)
{
f>>A[i][j];
}
}
for(int i=1;i<=N;++i)
{
f>>S[i];
}
//roy-floyd
for(int k=1;k<=N;k++)
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
{
if(A[i][j]>A[i][k]+A[k][j])
{
A[i][j]=A[i][k]+A[k][j];
}
}
//dist min
for(int i=1;i<=N;i++)
{
int s=0;
for(int j=1;j<=M;j++)
{
s=s+A[i][j];
S[i]=s;
}
if(S[i]<dmin)
{
dmin=S[i];
}
}
for(int i=1;i<=N;i++)
{
g<< S[i];
}
f.close();
g.close();
return 0;
}