import java.util.*; void setup() { String[] listC = loadStrings("list.txt"); ArrayList graphTxt = new ArrayList(); HashMap occ = new HashMap(); for (int i=0; i baseCards = new ArrayList(); /* int nbA=0; for (Map.Entry me : occ.entrySet()) { if (nbA<1) baseCards.add((String)me.getKey()); nbA++; } */ String[] base = loadStrings("base.txt"); for (String b : base) { baseCards.add(b); } ArrayList bestCards = new ArrayList(); ArrayList combos = new ArrayList(); int prevSize=-1; while (bestCards.size()<30 && prevSize!=bestCards.size()) { prevSize = bestCards.size(); ArrayList newCards = new ArrayList(); for (int i=0; i pool = bestCards; if (pool.size()==0) pool = baseCards; for (int l=0; l=1&&unknownCards<4) { addCombo(w, graphTxt); boolean found = false; for (int k=0; k graphTxt) { for (int j=0; j> HashMap sortByValue( Map map ) { List> list = new LinkedList>( map.entrySet() ); Collections.sort( list, new Comparator>() { public int compare( Map.Entry o1, Map.Entry o2 ) { return (o2.getValue()).compareTo( o1.getValue() ); } } ); HashMap result = new LinkedHashMap(); for (Map.Entry entry : list) result.put( entry.getKey(), entry.getValue() ); return result; } }