zoukankan      html  css  js  c++  java
  • UVA434

    题意:已知前视图和右视图,求最少需要几个正方体以及至多可以再增加几个正方体。

    分析:先对于最小木块数,要想用最少的立方体搭建,那就意味着前视图中的每一竖立方体的高度最好都要被右视图中的高度所利用到。所以我们以正视图为基准,正视图需要的立方体总数加上侧视图存在无法利用正视图的数量,就是最少需要的立方体数。其次对于最大木块数,我们可以发现,对于每个位置,我们可以放最小的那个高度都不影响前视图和右视图。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<algorithm>
     6 using namespace std;
     7 
     8 int k,a[10],b[10],n[10],m[10];
     9 
    10 int main()
    11 {
    12     int t;
    13     scanf("%d",&t);
    14     while(t--)
    15     {
    16         memset(a,0,sizeof(a));
    17         memset(b,0,sizeof(b));
    18         scanf("%d",&k);
    19         int tmp;
    20         for(int i=0;i<k;++i)
    21         {
    22             scanf("%d",&n[i]);
    23             a[n[i]]++;
    24         }
    25         for(int i=0;i<k;++i)
    26         {
    27             scanf("%d",&m[i]);
    28             b[m[i]]++;
    29         }
    30         int Min=0;
    31         int Max=0;
    32         for(int i=0;i<10;++i)
    33             Min+=max(a[i],b[i])*i;
    34         for(int i=0;i<k;++i)
    35             for(int j=0;j<k;++j)
    36             Max+=min(n[i],m[j]);
    37         printf("Matty needs at least %d blocks, and can add at most %d extra blocks.
    ", Min,Max-Min);
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    随感
    to Live On
    记Weblogic部署BUG(websocket)
    CentOS更换yum源配置
    Java-14常用类-03=String类详解
    大牛博客推荐
    java-14常用类-02=Java中的String类
    npm-02 修改NPM下载地址(转换地址与下载源)
    selenium-10 selenium原理+ide录制+文件上传+弹框处理
    测试基础介绍
  • 原文地址:https://www.cnblogs.com/sunshinemxh/p/4798708.html
Copyright © 2011-2022 走看看