算法原理参考编程之美1.16章节解法2:
下面是java源码:子问题为S[i] U= Fork(f(x),f(i-x));
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
class Elem{
public double res;
public String info;
public Elem(double r,String i){
res = r;
info = i;
}
}
public class CalculateAnswer {
private final int N = 4;
private final int res = 24;
private int[] A;
private Map<Integer, Set<Elem>> map;
private Set<String> answers;
public CalculateAnswer(int[] a) {
A = a;
map = new HashMap<Integer, Set<Elem>>();
answers = new HashSet<String>();
}
public void run() {
for(int i=0;i<(1<<N);i++) {
Set<Elem> set = new HashSet<Elem>();
map.put(i,set);
}
for(int i=0;i<N;i++){
Elem e = new Elem(A[i], A[i]+"");
Set&l