#include <stdio.h>
int getMax(int,int);
int getMax(int a,int b)
{
return (a>b)?a:b;
}
int main(void) {
int a[50][50];
int i,j,k,nov;
//read number of vertices
//read intial input matrix
for(i=0;i<nov;i++)
for(j=0;j<nov;j++)
//verify input matrix by printing
for(i=0;i<nov;i++)
{
for(j=0;j<nov;j++)
}
//perform computation
for(i=0;i<nov;i++)
for(j=0;j<nov;j++)
for(k=0;k<nov;k++)
a[j][k]=getMax(a[j][k],a[j][i]+a[i][k]);
//print final output matrix
for(i=0;i<nov;i++)
{
for(j=0;j<nov;j++)
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBnZXRNYXgoaW50LGludCk7CmludCBnZXRNYXgoaW50IGEsaW50IGIpCnsKCXJldHVybiAoYT5iKT9hOmI7Cn0KaW50IG1haW4odm9pZCkgewoJaW50IGFbNTBdWzUwXTsKICAgCiAgICAgICAgCiAgIAkKCWludCBpLGosayxub3Y7CgkvL3JlYWQgbnVtYmVyIG9mIHZlcnRpY2VzCglzY2FuZigiJWQiLCZub3YpOwoJCgkvL3JlYWQgaW50aWFsIGlucHV0IG1hdHJpeAoJZm9yKGk9MDtpPG5vdjtpKyspCgkgZm9yKGo9MDtqPG5vdjtqKyspCgkgIHNjYW5mKCIlZCIsJmFbaV1bal0pOwoJICAKCSAgLy92ZXJpZnkgaW5wdXQgbWF0cml4IGJ5IHByaW50aW5nCgkgIAoJICBmb3IoaT0wO2k8bm92O2krKykKCSAgewoJICAJZm9yKGo9MDtqPG5vdjtqKyspCgkgIAkgcHJpbnRmKCIlZFx0IixhW2ldW2pdKTsKCSAgCXByaW50ZigiXG4iKTsKCSAgfSAKCSAgCgkgIC8vcGVyZm9ybSBjb21wdXRhdGlvbgoJICAKCWZvcihpPTA7aTxub3Y7aSsrKQoJICBmb3Ioaj0wO2o8bm92O2orKykKCSAgIGZvcihrPTA7azxub3Y7aysrKQoJICAgIGFbal1ba109Z2V0TWF4KGFbal1ba10sYVtqXVtpXSthW2ldW2tdKTsKCSAgICAKCSAvL3ByaW50IGZpbmFsIG91dHB1dCBtYXRyaXgKCSAKCSAgcHJpbnRmKCJcbiIpOwoJICBmb3IoaT0wO2k8bm92O2krKykKCSAgewoJICAJZm9yKGo9MDtqPG5vdjtqKyspCgkgIAkgcHJpbnRmKCIlZFx0IixhW2ldW2pdKTsKCSAgCXByaW50ZigiXG4iKTsKCSAgfQoJcmV0dXJuIDA7Cn0K