Cod sursa(job #1462817)

Utilizator FiliutaMariusFMI Filiuta Marius FiliutaMarius Data 19 iulie 2015 02:46:52
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator java Status done
Runda Arhiva educationala Marime 0.77 kb
import java.io.*;
import java.util.Scanner;


public final class Main {

	public static void main(String[] args) throws IOException {
		Scanner in =  new Scanner(new FileReader("royfloyd.in"));
		FileWriter out = new FileWriter("royfloyd.out");
		
		int n;
		int[][] a;
		n = in.nextInt();
		a = new int[n][n];
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)
			{
				a[i][j] = in.nextInt();
				if(i!=j && a[i][j]==0)
					a[i][j] = 1001;
			}
		for(int k=0;k<n;k++)
			for(int i=0;i<n;i++)
				for(int j=0;j<n;j++)
					if(a[i][k]+a[k][j]<a[i][j])
						a[i][j] = a[i][k]+a[k][j];
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
				out.write(String.valueOf(a[i][j]) + ' ');
			out.write('\n');
		}
					
		
		in.close();
		out.close();

	}

}