#13180. 珅泽教育CSP-J第一轮模拟考第三十套 第 37 题
珅泽教育CSP-J第一轮模拟考第三十套 第 37 题
三、完善程序题(单项选择题,共30分)
完善程序(1):两组组合和
从两组长度为 n 的数据中各取 m 个数,求最小的公共组合和。
#include <bits/stdc++.h>
using namespace std;
int n, m, t;
int a[20], b[20], s1[1 << 15], s2[1 << 15];
void dfs(int cnt, int pos, int sum1, int sum2) {
if (___(1)___) {
s1[++t] = sum1;
s2[t] = sum2;
return;
}
if (___(2)___) return;
dfs(___(3)___);
dfs(cnt, pos + 1, sum1, sum2);
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n; i++) cin >> b[i];
dfs(___(4)___);
sort(s1 + 1, s1 + t + 1);
sort(s2 + 1, s2 + t + 1);
int i = 1, j = 1;
while (___(5)___) {
if (s1[i] == s2[j]) {
cout << s1[i];
return 0;
}
if (s1[i] < s2[j]) i++;
else j++;
}
cout << "IMPOSSIBLE";
return 0;
}
④处应填( )。
{{ select(1) }}
0,0,0,01,1,0,01,0,0,00,1,0,0