LA 4636 积木艺术

https://vjudge.net/problem/UVALive-4636

题意:

给出正视图和侧视图,判断最少要用多少个立方体。

思路:

首先正视图里出现的积木个数都是必须的,记录下每一列积木的个数出现的次数,接下来看侧视图,如果侧视图某一列积木个数在主视图里找不到,那么就要额外的加上这一列积木数。

 1 #include<iostream>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 const int maxn = 30;
 7 
 8 int vis[maxn];
 9 
10 int n, m;
11 
12 int main()
13 {
14     //freopen("D:\txt.txt", "r", stdin);
15     int x;
16     while (~scanf("%d%d",&n,&m) && n && m)
17     {
18         int x;
19         int ans = 0;
20         memset(vis, 0, sizeof(vis));
21         for (int i = 0; i < n; i++)
22         {
23             scanf("%d", &x);
24             ans += x;
25             vis[x]++;
26         }
27         for (int i = 0; i < m; i++)
28         {
29             scanf("%d", &x);
30             if (!vis[x])   ans += x;
31             else  vis[x]--;
32         }
33         printf("%d
", ans);
34     }
35 }
原文地址:https://www.cnblogs.com/zyb993963526/p/6551077.html