• [1655] 木块拼接

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 好奇的skyv95想要做一个正方形的木块,现在有三种颜色的矩形木块,颜色分别为"A","B","C"。他现在很想把三个木块拼接成一个大正方形,现在求助于你们,问分别给你们三种颜色矩形的两个边长,判断是否能组成一个正方形。
  • 输入
  • 依次输入颜色为A的矩形的两边长度,颜色为B的矩形的两边长度,颜色为C的矩形的两边长度。
  • 输出
  • 可以输出"YES",否则输出"NO"。
  • 样例输入
  • 4 4 2 6 4 2
  • 样例输出
  • YES
  • 提示
  • 例子的图像可以是这样
    6
    BBBBBB
    BBBBBB
    AAAACC
    AAAACC
    AAAACC
    AAAACC
  • 来源
  • By&Recoder
    有两种情况,一种是三个并排,另一种是一个在上,然后下边的拼接,拼接的两个必须有一条边相等,并且相等的边加上上方的长方形短边等于长边
    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    struct node
    {
    int a,b;
    }p[5];
    int cmp(node s1,node s2)
    {
    if(s1.a==s2.a)
    return s1.b>s2.b;
    return s1.a>s2.a;
    }
    int main()
    {
    while(cin>>p[0].a>>p[0].b>>p[1].a>>p[1].b>>p[2].a>>p[2].b)
    {
    int flag=-1;
    int maxx=-1,a=0,b=0;
    for(int i=0;i<3;i++)
    {
    if(p[i].a>maxx||p[i].b>maxx)
    {
    maxx=max(p[i].a,p[i].b);
    flag=i;
    }
    }
    bool f=false;
    int ans=0;
    for(int i=0;i<3;i++)
    {
    if(p[i].a==maxx||p[i].b==maxx)
    ans++;
    if(p[i].a<p[i].b)
    swap(p[i].a,p[i].b);
    }
    if(ans==3)
    {
    int sum=0;
    for(int i=0;i<3;i++)
    if(p[i].a==maxx)
    sum+=p[i].b;
    else
    sum+=p[i].a;
    if(sum==maxx)
    f=true;
    }
    sort(p,p+3,cmp);
    if(p[1].a==p[2].a&&p[1].a+min(p[0].a,p[0].b)==maxx)
    f=true;
    if(p[1].a==p[2].b&&p[1].a+min(p[0].a,p[0].b)==maxx)
    f=true;
    if(p[1].b==p[2].a&&p[1].b+min(p[0].a,p[0].b)==maxx)
    f=true;
    if(p[1].b==p[2].b&&p[1].b+min(p[0].a,p[0].b)==maxx)
    f=true;
    if(f)
    printf("YES\n");
    else
    printf("NO\n");
    }
    return 0;
    }

  • ningbooj--1655--木块拼接(贪心)的更多相关文章

    1. Chocolate&&木块拼接&&Cards&& Wet Shark and Bishops

      B. Chocolate time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

    2. HDOJ 1330 Deck(叠木块-物理题啊!贪心算法用到了一点)

      Problem Description A single playing card can be placed on a table, carefully, so that the short edg ...

    3. leetcode 321. 拼接最大数(单调栈,分治,贪心)

      题目链接 https://leetcode-cn.com/problems/create-maximum-number/ 思路: 心都写碎了.... 也许就是不适合吧.... 你是个好人... cla ...

    4. <算法竞赛入门经典> 第8章 贪心+递归+分治总结

      虽然都是算法基础,不过做了之后还是感觉有长进的,前期基础不打好后面学得很艰难的,现在才慢慢明白这个道理. 闲话少说,上VOJ上的专题训练吧:http://acm.hust.edu.cn/vjudge/ ...

    5. POJ 1065 Wooden Sticks / hdu 1257 最少拦截系统 DP 贪心

      参考链接:http://blog.csdn.net/xiaohuan1991/article/details/6956629 (HDU 1257 解题思路一样就不继续讲解) POJ 1065题意:给你 ...

    6. 【贪心】Codeforces 349B.Color the Fence题解

      题目链接:http://codeforces.com/problemset/problem/349/B 题目大意 小明要从9个数字(1,2,--,9)去除一些数字拼接成一个数字,是的这个数字最大. 但 ...

    7. AtCoder Grand Contest 026 (AGC026) E - Synchronized Subsequence 贪心 动态规划

      原文链接https://www.cnblogs.com/zhouzhendong/p/AGC026E.html 题目传送门 - AGC026E 题意 给定一个长度为 $2n$ 的字符串,包含 $n$ ...

    8. 【bzoj5073】[Lydsy1710月赛]小A的咒语 后缀数组+倍增RMQ+贪心+dp

      题目描述 给出 $A$ 串和 $B$ 串,从 $A$ 串中选出至多 $x$ 个互不重合的段,使得它们按照原顺序拼接后能够得到 $B$ 串.求是否可行.多组数据. $T\le 10$ ,$|A|,|B| ...

    9. 【BZOJ4922】[Lydsy六月月赛]Karp-de-Chant Number 贪心+动态规划

      [BZOJ4922][Lydsy六月月赛]Karp-de-Chant Number Description 卡常数被称为计算机算法竞赛之中最神奇的一类数字,主要特点集中于令人捉摸不透,有时候会让水平很 ...

    随机推荐

    1. BAT文件如何注释

      1.BAT文件中如何注释: 1.:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符) 2.rem 注释内容(不能出现重定向符号和管道符号) 3.echo 注释内容(不能出现重定向符号和管道符 ...

    2. [Windows Server 2003] ASP.net安装方法

      ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:安装ASP.n ...

    3. mysql幻读

      开启a,b两个数据库连接,a.b都开启事务后,b插入了一条数据R并提交,验证对a的操作造成的影响 select select for update update R update R 后 select ...

    4. hibernate Hql 更新的参数只能设置String类型

      最近在项目中发现一个奇怪的现象,请看下面的代码 实体类MyEmployeeEntity @Table(name="myemployee") public class MyEmplo ...

    5. Discuz 首页图文列表实现

      <div id="shoucang"> <!--{eval $list_count=0;}--> <!--{loop $threadlist $thr ...

    6. 【HTTP/S】透明代理、匿名代理、混淆代理、高匿代理有什么区别?

      这4种代理,主要是在代理服务器端的配置不同,导致其向目标地址发送请求时,REMOTE_ADDR, HTTP_VIA,HTTP_X_FORWARDED_FOR三个变量不同. 1.透明代理(Transpa ...

    7. mha0.56版本安装使用排错

      1.master_check_ssh --conf=/etc/app1.conf   这个检查就报错的我觉得百分之九十都是ssh之间连接问题.务必要保证各节点之间都可以免秘钥访问!     2.mas ...

    8. S-HR之OSF

      1):getWorkDayCount ->ArrayList data = (ArrayList) com.kingdee.shr.rpts.ctrlreport.osf.OSFExecutor ...

    9. pandas格式化str为时间,pandas将int转化为str

      code_300['HISTORY_DATE'] = code_300['HISTORY_DATE'].map(str)code_300['HISTORY_DATE'] = pd.to_datetim ...

    10. Mysql - ORDER BY详解

      0 索引 1 概述 2 索引扫描排序和文件排序简介 3 索引扫描排序执行过程分析 4 文件排序 5 补充说明 6 参考资料 1 概述 MySQL有两种方式可以实现ORDER BY: 1.通过索引扫描生 ...