Pagini recente » Cod sursa (job #2143005) | Rating murgu razvan (razvan_34) | Cod sursa (job #1240317) | Cod sursa (job #1950079) | Cod sursa (job #2692753)
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
ifstream in ("royfloyd.in");
ofstream out ("royfloyd.out");
int graf[1000][1000];
int n;
void Floyd_Warshall()
{
for(int k = 1; k <= n; k++)
{
for(int i = 1; i <= n; i++)//sursa
{
for(int j = 1; j <= n; j++)//destinatie
{
//daca k e un nod intermediar in cel mai scurt drum de la i la j
if (graf[i][k] + graf[k][j] < graf[i][j])
{
graf[i][j] = graf[i][k] + graf[k][j];
}
}
}
}
}
int main()
{
in>>n;
for(int i = 1 ; i<= n; i++)
{
for(int j = 1; j <= n; j++)
{
in>>graf[i][j];
}
}
Floyd_Warshall();
for(int i = 1 ; i<= n; i++)
{
for(int j = 1; j <= n; j++)
{
out<<graf[i][j]<<" ";
}
out<<"\n";
}
}