这道题目数据特别水,只需要判断1和2,80分,判了1,2,3,4,100分
这里提供1组数据
8
111 123
148 143
131 143
123 143
124 143
167 143
124 146
191 145
这道题目数据特别水,只需要判断1和2,80分,判了1,2,3,4,100分
这里提供1组数据
8
111 123
148 143
131 143
123 143
124 143
167 143
124 146
191 145
这题,用枚举做,思路跟平常的不太一样,所以你可能觉得水了,数据再怪一点,说不定你要写到 10 重循环的枚举。
其实它考察的还是搜索算法,一般看着想到的是「深搜」「广搜」。因为对于最终答案,是对每一块肉选或不选造成的,用深搜更直观些。从第一块试探起,更新状态后递归进入下一块肉选不选的求解,直到所有的肉做好抉择。
当然,需要考虑的是要不要剪枝(其实这个数据规模很小了,不考虑也行):如果在决定好第 k (k < n)块肉的取舍时,当前的肥瘦差已小于(大于)前面搜索到的最小结果,就可以不搜了么?其实搜下去,也许你可以更比例更合适,份量更多的肉。
不过由此,你也应该察觉到,深搜、广搜的本质其实也就是在一个个枚举。只不过,比起多重循环的嵌套,代码往往更加简洁统一。