Pagini recente » Cod sursa (job #250978) | Rezultatele filtrării | Cod sursa (job #318556) | Cod sursa (job #646205) | Cod sursa (job #1363481)
#include <iostream>
#include <fstream>
#define INF (1<<30)
using namespace std;
int N,dp[110][110]; bool l;
int main(){
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
fin >> N;
int i,j,k;
for (i=1; i<=N; i++)
for (j=1; j<=N; j++)
fin >> dp[i][j];
for (k=1; k<=N; k++)
for (i=1; i<=N; i++)
for (j=1; j<=N; j++)
if (dp[i][k] && dp[k][j] && (dp[i][k]+dp[k][j]<dp[i][j] || !dp[i][j]) && i!=j)
dp[i][j]=dp[i][k]+dp[k][j];
for (i=1; i<=N; i++, fout << "\n")
for (j=1; j<=N; j++)
fout << dp[i][j] << " ";
return 0;
}