一点疑问
查看原帖
一点疑问
804423
Catakiki楼主2023/9/11 19:25

对于取最小值的优先级的问题:

register int last = s ^ (1 << (j - 1));
register int can = max_can_reach(cash[j],reach[last] + 1);
register int res = dp[last] + cash[j];
//以使用的硬币的权值和最小优先 70pts
if(res < dp[s]){
	dp[s] = res;
	reach[s] = can;
}
register int last = s ^ (1 << (j - 1));
register int can = max_can_reach(cash[j],reach[last] + 1);
register int res = dp[last] + cash[j];
//能达到最远位置优先 100pts
if(can > reach[s]){
	dp[s] = res;
	reach[s] = can;
}
2023/9/11 19:25
加载中...