/* Rajarshi Guha * 7/2/2004 */ import org.openscience.cdk.graph.PathTools; import org.openscience.cdk.graph.matrix.AdjacencyMatrix; import org.openscience.cdk.AtomContainer; import util.misc; import java.util.Vector; import java.util.Iterator; public class apsp { public static void showAPSP(int[][] m, AtomContainer ac) { String s = " "; for (int j = 0; j < ac.getAtomCount(); j++) s = s + " " + (j+1); System.out.println(s); s = " "; for (int j = 0; j < ac.getAtomCount(); j++) s = s + " -"; System.out.println(s); for (int j = 0; j < ac.getAtomCount(); j++) { s = (j+1)+"|"; for (int k = 0; k < ac.getAtomCount(); k++) s = s + " " + m[j][k]; System.out.println(s); } } public static void main(String[] args) { Vector molvec = misc.loadMolecules(args, true); for (Iterator i = molvec.iterator(); i.hasNext(); ){ AtomContainer ac = (AtomContainer)i.next(); int[][] admat = AdjacencyMatrix.getMatrix(ac); int[][] m = PathTools.computeFloydAPSP(admat); showAPSP(m,ac); } } }