蓝桥杯BASIC-18(矩形面积交)
2016-12-15 23:01
302 查看
/*问题描述
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00
*/
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00
*/
public class Demo05 { public static void main(String[] args) { Rect r1 = new Rect(new Point(1,1), new Point(3,3)); Rect r2 = new Rect(new Point(1,1), new Point(5,5)); r1.getS(r2); } public static class Point{ private int x; private int y; public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public Point() { } public Point(int x, int y) { this.x = x; this.y = y; } } public static class Rect extends Point{ Point p1; Point p2; public Point getP1() { return p1; } public void setP1(Point p1) { this.p1 = p1; } public Point getP2() { return p2; } public void setP2(Point p2) { this.p2 = p2; } public Rect(Point p1, Point p2) { this.p1 = p1; this.p2 = p2; } public void getS(/*this*/ Rect r1){ //先找出每个矩形的最小x,然后再取两个最小x值中的较大值 int minX = Math.max(Math.min(this.getP1().getX(), this.getP2().getX()), Math.min(r1.getP1().getX(), r1.getP2().getX())); //先找出每个矩形的最小y,然后再取两个最小y值中的较大值 int minY = Math.max(Math.min(this.getP1().getY(), this.getP2().getY()), Math.min(r1.getP1().getY(), r1.getP2().getY())); //先找出每个矩形的最大x,然后再取两个最大x值中的较小值 int maxX = Math.min(Math.max(this.getP1().getX(), this.getP2().getX()), Math.max(r1.getP1().getX(), r1.getP2().getX())); //先找出每个矩形的最大y,然后再取两个最大y值中的较小值 int maxY = Math.min(Math.max(this.getP1().getY(), this.getP2().getY()), Math.max(r1.getP1().getY(), r1.getP2().getY())); if (minX < maxX && minY < maxY){ System.out.println(Math.round((maxX - minX) * (maxY - minY)*100)/100.00); }else{ System.out.println(0.00); } } } }
相关文章推荐
- 蓝桥杯 BASIC-18 基础练习 矩形面积交
- 蓝桥杯 BASIC-18 基础练习 矩形面积交
- [BASIC-18] - 矩形面积交 (Unsolved)
- 基础练习 BASIC-18 矩形面积交
- [BASIC-18] 矩形面积交
- BASIC-18 VIP试题 矩形面积交
- BASIC18-21 矩形面积交 完美的代价 数的读法 Sine之舞
- BASIC-18 矩形面积交java版
- 蓝桥-BASIC-18-矩形面积交
- 蓝桥杯 矩形面积交
- 蓝桥杯练习/基础练习 矩形面积交
- 蓝桥杯水题 矩形面积交
- 蓝桥杯 矩形面积交
- 蓝桥杯 基础练习VIP 矩形面积交(Java解题)
- 18.矩形面积交
- 蓝桥杯 矩形面积交
- 矩形面积交---蓝桥杯
- 蓝桥杯 基础练习 矩形面积交
- 蓝桥杯 基础练习 矩形面积交
- 蓝桥杯-矩形面积交