• Coderforce 560B-Gerald is into Art


    题目大意:给了三个矩形的长和宽,问第一个能否把其他两个装在内部,要求内部之间不重叠,不出界(可重边)?

    题目分析:这道题。。。考虑不够全面导致比赛时没有出来。。。当时,就是觉得自己的代码很完美,不可能不对!当时也是较起真儿来啦,全场就我一个人没A这道题,确实有点脑子热!以后再遇到这种情况一定要冷静!要沉着!越急越没用!!!要重新审视自己的算法和代码!!!!!

    代码如下:

    # include<iostream>
    # include<cstdio>
    # include<cmath>
    # include<string>
    # include<vector>
    # include<list>
    # include<set>
    # include<map>
    # include<queue>
    # include<cstring>
    # include<algorithm>
    using namespace std;
    
    # define LL long long
    # define REP(i,s,n) for(int i=s;i<n;++i)
    # define CL(a,b) memset(a,b,sizeof(a))
    # define CLL(a,b,n) fill(a,a+n,b)
    
    const double inf=1e30;
    const int INF=1<<30;
    const int N=1000;
    
    int a1,b1,a2,b2,a3,b3;
    
    bool ok(int a,int b)
    {
        if(a>=a3&&b>=b3) return true;
        if(a>=b3&&b>=a3) return true;
        return false;
    }
    
    bool judge()
    {
        if(a1*b1<a2*b2+a3*b3) return false;///
        if(a1<b1) swap(a1,b1);///
        if(a2<b2) swap(a2,b2);///
        if(a3<b3) swap(a3,b3);///
        if(b2>a1||a2>a1) return false;///
        if(b3>a1||a3>a1) return false;///
        if(b2+b3>a1) return false;///比赛的时候以上这些都没写,一直过不去
        if(ok(b1,a1-a2)) return true;
        if(ok(b1,a1-b2)) return true;
        if(ok(a1,b1-a2)) return true;
        if(ok(a1,b1-b2)) return true;
        return false;
    }
    
    int main()
    {
        while(~scanf("%d%d%d%d%d%d",&a1,&b1,&a2,&b2,&a3,&b3))
        {
            if(judge()) printf("YES
    ");
            else printf("NO
    ");
        }
        return 0;
    }
    

      

  • 相关阅读:
    对拍
    浅谈trie树
    蒟蒻的二分模板
    浅谈线性素数筛
    浅谈树状数组
    HDU 2181 哈密顿绕行世界问题
    HDU 3567 Eight II
    HDU 1043 Eight
    POJ 3076 Sudoku
    hihoCoder 1087 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/20143605--pcx/p/5058084.html
Copyright © 2020-2023  润新知