定義pair的key
map<pair<int, int>, double> hashMap
map查詢是否成存在key使用.count返回0/1
if(hashMap.count({a, b}) == 0)
pair的key直接{a, b}
map插入key直接hashMap[key]即可
hashMap[{a, b}] = 0.25
double search(map<pair<int, int>, double> &hashMap, int a, int b) {
if (a <= 0 && b > 0) {
return 1;
} else if ((a <= 0 && b <= 0)) {
return 0.5;
} else if (b <= 0){//B先分配完
return 0;
} else {
if (hashMap.count({a, b}) == 0) {
hashMap[{a, b}] = 0.25 * (search(hashMap, a - 4, b) +
search(hashMap, a - 3, b - 1) +
search(hashMap, a - 2, b - 2) +
search(hashMap, a - 1, b - 3));
}
return hashMap[{a, b}];
}
}