zoukankan      html  css  js  c++  java
  • 三大只的默契度

    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 }
    
    
    
    
    
  • 相关阅读:
    函数
    python操作文件
    POJ-2689-Prime Distance(素数区间筛法)
    POJ-2891-Strange Way to Express Integers(线性同余方程组)
    POJ-2142-The Balance
    POJ-1061-青蛙的约会(扩展欧几里得)
    Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
    Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer
    Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes
    Educational Codeforces Round 75 (Rated for Div. 2) A. Broken Keyboard
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8877415.html
Copyright © 2011-2022 走看看