Pagini recente » Cod sursa (job #2264386) | Cod sursa (job #1658448) | Cod sursa (job #2631476) | Cod sursa (job #1998325) | Cod sursa (job #611124)
Cod sursa(job #611124)
#include<fstream>
using namespace std;
#define MAX 100
int N;
int lung[MAX][MAX];
void citire()
{
ifstream f("royfloyd.in");
f>>N;
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
f>>lung[i][j];
f.close();
}
void solve()
{
for(int k=0;k<N;k++)
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
if(lung[i][k]&& lung[k][j]&& (lung[i][j]>lung[i][k]+lung[k][j] || !lung[i][j]) && i!=j)
lung[i][j] = lung[i][k]+lung[k][j];
ofstream g("royfloyd.out");
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
g<<lung[i][j]<<" ";
g<<endl;
}
g.close();
}
int main()
{
citire();
solve();
return 0;
}