题意:

      有一些1*1*1的单位正方体积木,现在要摆积木,每一块积木有两种方法,要么放在地面上,要么放在别的积木的正上方,现在给你摆好积木的正面图和侧面图,问你最少用了多少块积木。

思路:

      比较有意思也比较容易想到,而且题目中给的几个图看完估计就能想到怎么做了,光看文字的时候第一组测试数据我都没模拟过去,哎!看完图会发现一个问题,假如我们看正面图,我们看到的是一组连续的,但是在实际情况下他们有可能不连续,我说的不连续是指前后的不连续,至于是什么顺序,可以使任意顺序,任意顺序?越乱的东西越要简单想,那么也就是说我们根本不用考虑他的顺序,我们只要根据最优解随意改变他的顺序就行了,怎么样才是最优?题目要求是少的积木,那么首先正面的这些全要有,侧面呢?能没有就没有,怎么样才能没有呢?只有正面出现一个和他等高的,那么我们就直接用那个等高的去替换他就行了,但是注意一点,一个只能替换一个,如果没得替换的,那么就把当前高度加到答案里就行了,还有这个题目用谁去替换谁答案都是一样的,因为正视图和侧视图本来就是相对而言的。

#include<stdio.h>

#include<string.h>

int main ()

{

   int n ,m ,i ,a ,Ans;

   int mark[25];

   while(~scanf("%d %d" ,&n ,&m) && n + m)

   {

      memset(mark ,0 ,sizeof(mark));

      Ans = 0;

      for(i = 1 ;i <= n ;i ++)

      {

         scanf("%d" ,&a);

         Ans += a;

         mark[a] ++;

      }

      for(i = 1 ;i <= m ;i ++)

      {

         scanf("%d" ,&a);

         if(mark[a]) mark[a] --;

         else Ans += a;

      }

      printf("%d\n" ,Ans);

   }

   return 0;



LA4636积木艺术的更多相关文章

  1. LA 4636 积木艺术

    https://vjudge.net/problem/UVALive-4636 题意: 给出正视图和侧视图,判断最少要用多少个立方体. 思路: 首先正视图里出现的积木个数都是必须的,记录下每一列积木的 ...

  2. TurnipBit—MicroPython开发板:从积木式编程语言开始学做小小创客

    编程.建模.制作动画和游戏--这些当初我们默认只有成年人玩得转的事情,现在早已经被无数小孩子给颠覆甚至玩出新境界了.热爱科技和动手的"创客"(Maker)现在在全世界都炙手可热.今 ...

  3. 画一个秘密花园 | Scratch 3.0 艺术项目

    项目类型:艺术 难度指数:3.5颗星 适合年龄:9岁以上 角色个数:1 程序个数:1 学习时长:建议60min——90min 项目内容: 点击绿色旗子,音乐声响起.随后在舞台上点击一下,就出现一朵花, ...

  4. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  5. 有趣的 CSS 像素艺术

    原文地址:https://css-tricks.com/fun-times-css-pixel-art/#article-header-id-4 译者:nzbin 友情提示:由于国内网络的原因,Cod ...

  6. 你真的会玩SQL吗?透视转换的艺术

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  7. codevs 3288 积木大赛

    题目描述 Description 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第i块积木的最终高度 ...

  8. .NET单元测试的艺术-1.入门

    开篇:最近在看Roy Osherove的<单元测试的艺术>一书,颇有收获.因此,将其记录下来,并分为四个部分分享成文,与各位Share.本篇作为入门,介绍了单元测试的基础知识,例如:如何使 ...

  9. .NET单元测试的艺术-2.核心技术

    开篇:上一篇我们学习基本的单元测试基础知识和入门实例.但是,如果我们要测试的方法依赖于一个外部资源,如文件系统.数据库.Web服务或者其他难以控制的东西,那又该如何编写测试呢?为了解决这些问题,我们需 ...

随机推荐

  1. 无需编程,通过配置零代码生成CRUD RESTful API

    Hello,crudapi!(你好,增删改查接口!) 本文通过学生对象为例,无需编程,通过配置实现CRUD RESTful API. 概要 CRUD简介 crud是指在做计算处理时的增加(Create ...

  2. Java基础:重文本markdown

    说一说markdown 前言 在系统学习Java等开发语言之前,我们应该养成写"日记"的习惯,也就是写博客:写博客的地方有博客园,csdn等.而写博客又得知道markdown重文本 ...

  3. 实验: survivor放不下的对象进入老年代

    实验一: 存活对象包含 小于survivor大小的对象 + 大于survivor的对象 private static final Integer _1MB = 1024 * 1024; /** * - ...

  4. Linux入门视频笔记一(基本命令)

    一.简单命令 1.date:当前时间 2.cal:当前日期(日历格式) ①cal 2019:2019年全年日历 ②cal 1 2019:2019年1月份 二.Linux文件结构 1.根目录:root( ...

  5. P1303_A*B Problem(JAVA语言)

    思路:BigInteger 三杀! //四行搞定 题目描述 求两数的积. 输入输出格式 输入格式: 两行,两个数. 输出格式: 积 输入输出样例 输入样例#1: 复制 1 2 输出样例#1: 复制 2 ...

  6. 前后端(PHP)使用AES对称加密

    前端代码: // 这个是加密用的 function encrypt(text){ var key = CryptoJS.enc.Utf8.parse('1234567890654321'); //为了 ...

  7. js_笔记_8月7日记录_活动对象_作用域链_按值传递

    活动对象:简单说就是这个函数的参数和显示声明的变量或函数. 函数内接受的参数实际是创建了一个局部变量:[形参名] = [传进来的值],js的函数传参只传值. 作用域链:执行流进入一个函数,会先创建出作 ...

  8. python多版本与虚拟环境

    这篇纯python技术文章,我自己平时也会用到,在此记录一下. 为什么会用到多个Python版本? 用macOS和Ubutntu的同学都知道系统默认安装的Python2.7.x,然后,我们平时pyth ...

  9. std::thread线程库详解(5)

    目录 目录 前言 信号量 counting_semaphore latch与barrier latch barrier 总结 前言 前面四部分内容已经把目前常用的C++标准库中线程库的一些同步库介绍完 ...

  10. Oracle 19c Data Guard DML Redirection ADG备库上执行DML重定向(未来更好的进行读写分离)

    资料来自官方网站: https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-g ...