zoukankan      html  css  js  c++  java
  • LeetCode 223 223. Rectangle Area

    题目

    计算矩形覆盖面积

    class Solution {
    public:
        int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
            
            int a =0;
            if(E<C&&G>A)
            {
                if(G>=C&&E>=A)
                {
                   
                    if(H>=D&&F<=B)
                    {
                            a = (C-E)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (C-E)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (C-E)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (C-E)*(H-F);
                        }
                    
                }
                
                if(G<C&&E>=A)
                {
                    
                    if(H>=D&&F<=B)
                    {
                            a = (G-E)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (G-E)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (G-E)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (G-E)*(H-F);
                        }
                }
                
                if(E<A&&G<C)
                {
                     if(H>=D&&F<=B)
                    {
                            a = (G-A)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (G-A)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (G-A)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (G-A)*(H-F);
                        }
                }
                
                if(E<A&&G>=C)
                {
                     if(H>=D&&F<=B)
                    {
                            a = (C-A)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (C-A)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (C-A)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (C-A)*(H-F);
                        }
                }
            }
            
            return (C-A)*(D-B)-a+(G-E)*(H-F);
            
        }
    };
    
  • 相关阅读:
    牡牛和牝牛
    卡特兰数 Catalan number
    Codeforces Round #633 (Div. 2)
    Codeforces Round #634 (Div. 3)
    陪审团
    线性DP
    AcWing 274. 移动服务
    Rust打印方法行号
    八.枚举与模式匹配
    七.结构体
  • 原文地址:https://www.cnblogs.com/dacc123/p/12350362.html
Copyright © 2011-2022 走看看