meaning of the title
Given front and side views, determine the minimum number of cubes
analyze
If there are cubes of the same height, the side with the most number will prevail.
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAXN = 30; int num1[MAXN],num2[MAXN]; int n,m; int main(){ while (scanf("%d%d",&m,&n) != EOF && n+m){ memset(num1,0,sizeof(num1)); memset(num2,0,sizeof(num2)); int x; for (int i = 0; i < m; i++){ scanf("%d",&x); num1[x]++; } for (int i = 0; i < n; i++){ scanf("%d",&x); num2[x]++; } int ans = 0; for (int i = 1; i < 25; i++) ans += i*max(num1[i],num2[i]); printf("%d\n",ans); } return 0; }
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <algorithm>
- usingnamespace std;
- const int MAXN = 30;
- int num1[MAXN],num2[MAXN];
- int n,m;
- int main(){
- while (scanf("%d%d",&m,&n) != EOF && n+m){
- memset(num1,0,sizeof(num1));
- memset(num2,0,sizeof(num2));
- int x;
- for (int i = 0; i < m; i++){
- scanf("%d",&x);
- num1[x]++;
- }
- for (int i = 0; i < n; i++){
- scanf("%d",&x);
- num2[x]++;
- }
- int years = 0;
- for (int i = 1; i < 25; i++)
- ans += i*max(num1[i],num2[i]);
- printf("%d\n",ans);
- }
- return 0;
- }