Pagini recente » Istoria paginii utilizator/corbean_tudor | Cod sursa (job #958705) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1992021)
#include <fstream>
#define Vmax 100
#define maxim 1 << 16
using namespace std;
int main()
{
ifstream input("royfloyd.in");
ofstream output("royfloyd.out");
int V;
input >> V;
int i, j, k;
int dist[Vmax][Vmax];
for(i = 0; i < V; i ++)
for(j = 0; j < V; j ++)
dist[i][j] = maxim;
for(i = 0; i < V; i ++)
for(j = 0; j < V; j ++)
input >> dist[i][j];
for(k = 0; k < V; k ++)
for(i = 0; i < V; i ++)
for(j = 0; j < V; j ++)
if(dist[i][k] != maxim && dist[k][j] != maxim && i != j && (dist[i][j] > dist[i][k] + dist[k][j] || dist[i][j] == maxim))
dist[i][j] = dist[i][k] + dist[k][j];
for(i = 0; i < V; i ++)
{
for(j = 0; j < V; j ++)
output << dist[i][j] << ' ';
output << '\n';
}
return 0;
}