import java.util.*; import java.io.*; public class Experiment { static String go(MWC mwc,int[][] adj,int[] deg,int[] wgt,int style){ mwc.reset(adj,deg,wgt); mwc.style = style; long cpuTime = System.currentTimeMillis(); mwc.search(); cpuTime = System.currentTimeMillis() - cpuTime; return "style: "+ style +" found: "+ mwc.whenFound +" nodes: "+ mwc.nodes +" cpu: "+ cpuTime +" "; } public static void main(String[] args) throws IOException { String alg = args[0]; int n = Integer.parseInt(args[1]); int lwbWeight = Integer.parseInt(args[2]); int upbWeight = Integer.parseInt(args[3]); int m = Integer.parseInt(args[4]); int[] degree = new int[n]; int[] weight = new int[n]; int[][] A = new int[n][n]; int[][] adj = new int[n][n]; int[] deg = new int[n]; int[] wgt = new int[n]; int style = 0; Random gen = new Random(); MWC mwc = null; long cpuTime = 0; double p = 0.0; // edge probability if (alg.equals("MWC")) mwc = new MWC(n,A,degree,weight,style); else if (alg.equals("MWCQ")) mwc = new MWCQ(n,A,degree,weight,style); else if (alg.equals("MWCQb")) mwc = new MWCQb(n,A,degree,weight,style); else if (alg.equals("MWCSa")) mwc = new MWCSa(n,A,degree,weight,style); else if (alg.equals("MWCU")) mwc = new MWCU(n,A,degree,weight,style); else if (alg.equals("MWCV")) mwc = new MWCV(n,A,degree,weight,style); else if (alg.equals("BBMWC")) mwc = new BBMWC(n,A,degree,weight,style); else if (alg.equals("Cliquer")) mwc = new Cliquer(n,A,degree,weight,style); else if (alg.equals("CliquerA")) mwc = new CliquerA(n,A,degree,weight,style); else if (alg.equals("CliquerB")) mwc = new CliquerB(n,A,degree,weight,style); else if (alg.equals("CliquerC")) mwc = new CliquerC(n,A,degree,weight,style); else if (alg.equals("Query")) mwc = new Query(n,A,degree,weight,style); else return; // make vertex weights for (int k=0;k