题解 | #长方形的关系#

长方形的关系

http://www.nowcoder.com/practice/6b099f3a8e3745b592203f14e3954411

描述

给出两个长方形的长和宽(长不一定大于宽),实现长方形类的一个方法,判定前者是否能完全覆盖后者。

输入描述:

输入4个整数,前两个表示第一个长方形的长和宽,后两个表示第二个长方形的长和宽。

输出描述:

如果前者能完全覆盖后者输出"yes"否则输出"no"

解题思路

看排名较高的的解题方法是比较两个矩形的面积 但是里面涉及到一个问题,比如说,一个矩形参数为(20,1),另一个矩形参数为(3,4) 第一个矩形的面积虽然比第二个矩形的面积大, 但是前者不能完全将第二个矩形完全覆盖, 故因此比较他们的较长的边,和较短的边分别比较,最终达到题目所要求的 先找出矩形较长的边和较短的边,分别比较 代码如下

#include<bits/stdc++.h>
using namespace std;
class rectangle{
	private:
		int length,width;
	public:
		void set(int x,int y){
			length=x;
			width=y;
		}
		int getlength(){
			return length;
		}
		int getwidth(){
			return width;
		}
		int area(){
			return length*width;
		}
		// write your code here......
        int  find_max (){
            if ( length >  width )
                return  length;
            else 
                return  width ;
        }
        int find_min (){
            if ( length <  width)
                return length ;
            else 
                return  width ;
        }
        string  cancover(rectangle & b){
            if ((this -> find_max() >= b.find_max()) && (this ->find_min() >= b.find_min()) )
               return "yes" ;
            else 
               return "no" ;
        }
            
};
int main(){
	int l1,w1,l2,w2;
	cin>>l1>>w1>>l2>>w2;
	rectangle a,b;
	a.set(l1,w1);
	b.set(l2,w2);
	cout << a.cancover(b);
	return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
11
1
分享

创作者周榜

更多
牛客网
牛客企业服务