Cod sursa(job #1247925)

Utilizator mariacMaria Constantin mariac Data 24 octombrie 2014 12:16:32
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include<fstream>
#define MAX 10000000
using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int c[101][101], n;
int main()
{
    int i, j, k;
    
    fin >> n;
    
    for(i = 1; i <=n ;i++)
          for(j = 1; j <= n; j++)
                {
                     fin >> c[i][j];
                     if(c[i][j] == 0) c[i][j] = MAX;
                }
    for(k = 1; k <= n; k++)
          for(i = 1; i <= n; i++)
                for(j = 1; j <= n; j++)
                if(i != j && c[i][k]+ c[k][j] < c[i][j])
                     c[i][j] = c[i][k] + c[k][j];
    for(i = 1; i <= n;i++)
          {
               for(j = 1; j <= n; j++)
                     {
                       if(c[i][j] == MAX)c[i][j]= 0;
                       fout<<c[i][j]<<" ";
                       }
               fout<<"\n";
          }
          
    return 0;
}