Cod sursa(job #683479)

Utilizator Lokycatalin petre Loky Data 20 februarie 2012 18:41:16
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;

long int i,j,k,a[105][105],n;

int main()
{
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");
    f>>n;
    for (i=1;i<=n;i++)
           for (j=1;j<=n;j++) {
           f>>a[i][j];
           if (a[i][j]==0) a[i][j]=100005;
    }
    for (k=1;k<=n;k++)
       for (i=1;i<=n;i++)
              for (j=1;j<=n;j++)
              if (a[i][j]>a[i][k]+a[k][j]) a[i][j]=a[i][k]+a[k][j];

       for (i=1;i<=n;i++) {
       for (j=1;j<=n;j++) {
              if (i==j) g<<'0'<<' ';
              else {
       if (a[i][j]==100005) g<<'0'<<' ';
       else
       g<<a[i][j]<<' ';
       }
       }
       g<<'\n';
       }

    f.close();
    g.close();
    return 0;
}