题目:LA4636
分析:很有意思的题目,首先搭建该图形需要的积木一定大于等于正视图里的积木数量。另外,如果在正视图和侧视图都存在长为h的积木的话,则侧视图里的积木可用正视图里的代替,因为看上去连续的积木实际摆放的时候不一定是连续的。代码也很简单:
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int use[100];
int main(){
freopen("a.in", "r", stdin);
freopen("a.out", "w", stdout);
int w, d;
while (scanf("%d %d", &w, &d) == 2 && w && d) {
memset(use, 0, sizeof(use));
int ans = 0, x;
for (int i = 0; i < w; i ++) {
scanf("%d", &x);
ans += x;
use[x] ++;
}
for (int i = 0; i < d; i ++) {
scanf("%d", &x);
if (use[x]) {
use[x] --;
} else ans += x;
}
printf("%d\n", ans);
}
return 0;
}