// // Like MCPPX only outer loop goes from "right to left" // This is done in the hope of minimising size of candidate set // Q at earlier iterations. Expect slow discovery of max clique // with short proof of optimality // import java.util.*; class MCPPXX extends MCPP { MCPPXX (int n,int[][]A,int[] degree,int style) { super(n,A,degree,style); } void search(){ cpuTime = System.currentTimeMillis(); nodes = 0; ArrayList C = new ArrayList(n); ArrayList P = new ArrayList(n); ArrayList> colClasses; orderVertices(P); int iteration = 0; for (int i=n-1;i>=0;i--){ int v = P.get(i); ArrayList Q = new ArrayList(); for(int j=0;j