假设有n(3<n<100)个数(每个数都小于500且是整数),两两相加得到n x(n-1)/2个数,这些和从小到大排列,现给定这些从小到大排列的和以及n的值,假设结果存在且唯一,输出原来的n个数,要求也是从小到大排列。。求思路。。。。
DFS加剪枝,那个和是原数列中每个元素之和的n-1倍,于是可以得到原数列元素之和(目标和)。从最大的数500开始搜(逐层(严格?)递减)。剪枝策略应该有好几条。但感觉比较有效的一条是,剩余最小和大于剩余和。