#1825. 珅泽教育CSP-J第一轮模拟考第九套 第 39 题
珅泽教育CSP-J第一轮模拟考第九套 第 39 题
三、完善程序(单选题,每小题3分,共计30分)
第1题
炼制一块合金,该合金需要 克黄金与 克白银。商店里有 块材料,第 块材料含有 克黄金与 克白银,且含有 克杂质。
请问应该使用哪些材料,将它们炼制在一起,才能使得合金中黄金与白银含量不少于给定的要求,且杂质总和最小。所有材料均不可切割。输入数据保证所要求的合金一定可以炼成。
int n, a, b;
int x[maxn], y[maxn], w[maxn];
int mem[maxn][maxm][maxm];
bool cache[maxn][maxm][maxm];
const int INF = 1000000000;
int dfs(int k, int i, int j) {
if (____(1)____) return 0;
if (____(2)____) return INF;
if (cache[k][i][j]) return mem[k][i][j];
int ni = ____(3)____;
int nj = ____(4)____;
int giveup = ____(5)____;
int pickup = ____(6)____;
cache[k][i][j] = true;
return mem[k][i][j] = std::min(giveup,pickup);
}
int main() {
std::cin >> n >> a >> b;
for (int i = 0; i < n; ++i)
std::cin >> x[i] >> y[i] >> w[i];
std::cout << ____(7)____ << "\n";
return 0;
}
(5)(6) 处应填( )。
{{ select(1) }}
dfs(k + 1, i, j),dfs(k + 1, ni, nj)dfs(k + 1, ni, nj),dfs(k + 1, ni, nj)dfs(k + 1, i, j),dfs(k + 1, ni, nj) + w[k]dfs(k + 1, ni, nj),dfs(k + 1, ni, nj) + w[k]