Pagini recente » Monitorul de evaluare | Cod sursa (job #3315063) | Cod sursa (job #349670) | Cod sursa (job #3307153) | Cod sursa (job #1670907)
#include <iostream>
#include <fstream>
using namespace std;
int n, t[105][105];
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int main()
{
f>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
f>>t[i][j];
}
}
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(t[i][k] && t[k][j] && (t[i][j]>t[i][k] + t[k][j] || !t[i][j]) && i!=j){
t[i][j] = t[i][k] + t[k][j];
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
g<<t[i][j]<<" ";
}
g<<endl;
}
return 0;
}