• [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. js 零碎

      function具有一个属性是length,表示希望接收到的命名参数的个数.可以通过arguments获取参数.arguments.callee表示函数本身,递归时有用,也可以通过arguments. ...

    2. css图片高清适配

      同一张图片,在普通屏显示正常,但高清屏出现模糊.原因是原来一个像素的点分成的四个像素的点进行了显示. 解决方案:在高清屏中把图片变成二倍图,前提是二倍的高清图已经存在. .icon{ backgrou ...

    3. 郁闷的出纳员 题解(Splay)

      题面 看似是要区间修改,然而实际上只需要维护底线和工资的相对大小关系, 瞬间变水 用delta记录对工资的加减,那么添加节点时点权应-delta,输出时+delta 几种操作中减少工资较麻烦: 1.d ...

    4. php字符串无乱码截取函数封装

      /** * * 中英混合字符串长度判断 * @param unknown_type $str * @param unknown_type $charset */ function strLength( ...

    5. c++ map: 当map的value是void*指针

      #include <iostream> #include <map> #include <vector> using namespace std; //key is ...

    6. 24.通过ngram分词机制实现index-time搜索推荐

      一.ngram和index-time搜索推荐原理     1.什么是ngram     假设有一个单词:quick,在5种长度下的ngram情况如下: ngram length=1,q u i c k ...

    7. pyhton 网络爬取软考题库保存text

      #-*-coding:utf-8-*-#参考文档#https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#find-al ...

    8. [网络收集]20190528华为数通网络工程师认证HCIA-VRP的操作指导思维导图

      >> >0 VRP基础 >1 命令行基础 >2 文件系统基础 >3 VRP系统管理

    9. [加强版] Codeforces 835D Palindromic characteristics (回文自动机、DP)

      题目链接: https://codeforces.com/contest/835/problem/D 题意: 一个回文串是\(1\)-回文的,如果一个回文串的左半部分和右半部分一样且都是\(k\)-回 ...

    10. Package pdftex.def Error: PDF mode expected, but DVI mode detected!

      本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51646781 在如下使用LaTeX编译 ...