Pagini recente » Cod sursa (job #3327507) | Cod sursa (job #1184526) | Cod sursa (job #1019228) | Cod sursa (job #2545072) | Cod sursa (job #1829235)
#include <iostream>
#include <fstream>
std::fstream f("royfloyd.in",std::ios::in);
std::ofstream g("royfloyd.out");
const int MAX = 101;
int Graf[MAX][MAX];
int minCost[MAX][MAX];
void citire(int &N);
void solve(int N);
int main()
{
int N;
citire(N);
solve(N);
return 0;
}
void citire(int &N)
{
int i,j;
f>>N;
for(i=1;i<=N;++i)
{
for(j=1;j<=N;++j)
{
f>>Graf[i][j];
}
}
}
void solve(int N)
{
int i,j,k;
for(k=1;k<=N;++k)
{
for(i=1;i<=N;++i)
{
for(j=1;j<=N;++j)
{
if(i!=j && Graf[i][k]!=0 && Graf[k][j]!=0 && (Graf[i][j]>Graf[i][k]+Graf[k][j] || !Graf[i][j]))
{
Graf[i][j] = Graf[i][k]+Graf[k][j];
}
}
}
}
for(i=1;i<=N;++i)
{
for(j=1;j<=N;++j)g<<Graf[i][j]<<" ";
g<<"\n";
}
}