import java.util.*; public class RandomRoommate { static Random gen; static void shuffle(ArrayList v){ int j,n; n = v.size(); Object temp; for (int i=n-1;i>0;i--){ j = gen.nextInt(i+1); temp = v.get(i); v.set(i,v.get(j)); v.set(j,temp); } } static Edge randomSelect(ArrayList v){ if (v.isEmpty()) return null; return v.get(gen.nextInt(v.size())); } public static void main(String[] args) throws Exception { gen = new Random(); int n = Integer.parseInt(args[0]); double p = 1.0; double pForced = 0.0; ArrayList[] V = new ArrayList[n]; ArrayList E = new ArrayList(); ArrayList agent = new ArrayList(n); for (int i=0;i(); if (args.length >= 2) p = Double.parseDouble(args[1]); System.out.println(n); for (int i=0;i= gen.nextDouble()){ V[i].add(j); V[j].add(i); E.add(new Edge(i,j)); } for (int i=0;i)V[i]) System.out.print((j+1) +" "); System.out.println(); } if (args.length >= 3) pForced = Double.parseDouble(args[2]); for (int i=0;i= gen.nextDouble()){ System.out.println("forced "+ (e.v+1) +" "+ (e.w+1)); ArrayList deletions = new ArrayList(); for (Edge e2 : E) if (e.adjacent(e2)) deletions.add(e2); for (Edge e2 : deletions) E.remove(e2); } } } }