• 三大只的默契度


    Description

    大家都知道实验室里小莉,小晨和小芹是非常非常要好的朋友,但是最近呢,这三个人感觉真的是太无聊太无聊太无聊了!有天,小莉突发奇想,想来测试一下她们仨的默契程度。她们三个人每人都自己找了一个矩形的木板,看这三个木板能不能拼成一个正方形。如果能,那就代表着她们真是的很有很有默契的咯~如果不能,或许就没有那么有默契辣。这可把小莉愁坏了啊,她们到底有没有默契呀?你能帮帮她吗?

    Input

    输入包括三行,第一行代表第一个矩形的长h(h<1000)和宽w(w<1000),第二行代表第二个矩形的长h(h<1000)和宽w(w<1000),第三行代表第三个矩形的长h(h<1000)和宽w(w<1000)。

    Output

    输出单行结果,如果有默契请输出“YES”,否则输出“NO”,输出没有双引号。

    Sample Input

    8 2
    1 6
    7 6

    Sample Output

    YES


    解题思路:这道题比赛的时候真是把我给吓蒙了,确实需要考虑的情况不少,但其实冷静分析一下,我们会发现其实只有两种大的情况:第一种是三个长
    条矩形,最长边相等,最短边之和等于最长边;第二种情况是有一个长条矩形,剩下两个矩形共同组成正方形除了长条矩形的部分,具体的判断条件是,
    除了长条矩形的剩下两个矩形中,有两边相等,剩下两边值和等于长条矩形的最长边。

    上代码:
     1 #include<stdio.h>
     2 #include<algorithm>
     3 using namespace std;
     4 struct message
     5 {
     6     int l;
     7     int w;
     8 };
     9 int my_comp(message a,message b)
    10 {
    11     if(a.l>b.l)
    12         return 1;
    13     else
    14         return 0;
    15 }
    16 int main()
    17 {
    18     int i,b,c;
    19     int flag=0;
    20     struct message a[3];
    21     for(i=0; i<3; i++)
    22     {
    23         scanf("%d%d",&b,&c);
    24         if(b>=c)
    25         {
    26             a[i].l=b;
    27             a[i].w=c;
    28         }
    29         else
    30         {
    31             a[i].l=c;
    32             a[i].w=b;
    33         }
    34     }
    35     sort(a,a+3,my_comp);
    36     if(a[0].l==a[1].l&&a[1].l==a[2].l&&a[0].w+a[1].w+a[2].w==a[0].l)
    37     {
    38         flag=1;
    39     }
    40     if(a[2].w+a[1].l==a[0].l&&a[1].w==a[2].l&&a[2].l+a[0].w==a[0].l)
    41     {
    42         flag=1;
    43     }
    44     if(a[1].w+a[2].l==a[0].l&&a[2].w==a[1].l&&a[1].l+a[0].w==a[0].l)
    45     {
    46         flag=1;
    47     }
    48     if(a[1].l+a[2].l==a[0].l&&a[1].w==a[2].w&&a[2].w+a[0].w==a[0].l)
    49     {
    50         flag=1;
    51     }
    52     if(a[1].w+a[2].w==a[0].l&&a[1].l==a[2].l&&a[1].l+a[0].w==a[0].l)
    53     {
    54         flag=1;
    55     }
    56     if(flag==1)
    57         printf("YES
    ");
    58     else
    59         printf("NO
    ");
    60     return 0;
    61 }
    
    
    
    
    
  • 相关阅读:
    Django各个文件中常见的模块导入
    js模板(template.js)实现页面动态渲染
    Netty 源码 Channel(一)概述
    Netty 源码 NioEventLoop(三)执行流程
    Netty 源码(一)Netty 组件简介
    Netty 源码(二)NioEventLoop 之 Channel 注册
    Java 算法(一)贪心算法
    Netty Reator(三)Reactor 模型
    Netty Reator(二)Scalable IO in Java
    Reactor 模型(一)基本并发编程模型
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8877415.html
Copyright © 2020-2023  润新知