Pagini recente » Clasament Teme ACM Unibuc 2013 | Cod sursa (job #870489) | infoarena - te ajutam sa devii olimpic! | Cod sursa (job #1862438) | Cod sursa (job #2569082)
#include <fstream>
using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
const int nmax=100;
int n;
int rf[nmax+5][nmax+5];
int main()
{
fi>>n;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
fi>>rf[i][j];
for(int k=1; k<=n; k++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if((rf[i][j]>rf[i][k]+rf[k][j] || !rf[i][j]) && rf[i][k] && rf[k][j] && i!=j)
rf[i][j]=rf[i][k]+rf[k][j];
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
fo<<rf[i][j]<<" ";
fo<<"\n";
}
fi.close();
fo.close();
return 0;
}