Cod sursa(job #2429702)

Utilizator mariasmmskklns mariasmm Data 10 iunie 2019 21:15:31
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.2 kb
#include <iostream>
#include <fstream>
using namespace std;
const int NMax = (1<<30);
int main()
{
    ifstream f("royfloyd.in");
    int n, nodTrecere, nodPornire, nodDestinatie;
    f>>n;
    int m[105][105];
    for (int i=1; i<=n; i++)
        for (int j=1; j<=n; j++)
            {
                f>>m[i][j];
              //  if (!(i==j) && (m[i][j]==0))
               //     m[i][j]=NMax;
            }
    for (nodTrecere=1; nodTrecere<=n; nodTrecere++)
        for (nodPornire=1; nodPornire<=n; nodPornire++)
            for (nodDestinatie=1; nodDestinatie<=n; nodDestinatie++)
                {
                if (nodPornire!=nodDestinatie)
                    if (m[nodPornire][nodDestinatie]>m[nodPornire][nodTrecere]+m[nodTrecere][nodDestinatie]||(!m[nodPornire][nodDestinatie]))
                        if ((m[nodPornire][nodTrecere])&&(m[nodTrecere][nodDestinatie]))
                                m[nodPornire][nodDestinatie]=m[nodPornire][nodTrecere]+m[nodTrecere][nodDestinatie];
                }
    ofstream g("royfloyd.out");
    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=n; j++)
                g<<m[i][j]<<" ";
        g<<"\n";
    }
    return 0;
}