基础训练 矩形面积交

矩形面积交

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    double m1, n1, m2, n2, a1, b1, a2, b2, d1=0, d2=0;
    cin>>m1>>n1>>m2>>n2>>a1>>b1>>a2>>b2;
    if(m1>m2) swap(m1, m2);
    if(n1>n2) swap(n1, n2);
    if(a1>a2) swap(a1, a2);
    if(b1>b2) swap(b1, b2);
    if(a1>=m1&&a1<=m2){ //a1在吗m1和m2之间
        if(a2<=m2) d1=a2-a1;
        else if(a2>m2) d1=m2-a1;
    }else if(a1<m1){
        if(a2<m1) d1=0;
        else if(a2<=m2&&a2>=m1) d1=a2-m1;
        else if(a2>m2) d1=m2-m1;
    }
    if(b1>=n1&&b1<=n2){ //a1在吗m1和m2之间
        if(b2<=n2) d2=b2-b1;
        else if(b2>n2) d2=n2-b1;
    }else if(b1<n1){
        if(b2<n1) d2=0;
        else if(b2<=n2&&b2>=n1) d2=b2-n1;
        else if(b2>n2) d2=n2-n1;
    }
    double s=d1*d2;
    cout<<fixed<<setprecision(2)<<s<<endl;
    return 0;
} 

原文地址:https://www.cnblogs.com/A-Little-Nut/p/10352774.html

时间: 2024-10-21 03:52:05

基础训练 矩形面积交的相关文章

[BASIC-18] 矩形面积交

基础练习 矩形面积交 时间限制:1.0s   内存限制:512.0MB 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行,每行描述一个矩形. 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示. 输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位. 样例输入 1 1 3 3 2 2 4 4 样例输出 1.00 分析: 1.需要注

蓝桥杯_基础练习《矩形面积交---26》

/* 基础练习 矩形面积交 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们 给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行,每行描述一个矩形. 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过 10^7的实数表示. 输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位. 样例输入 1 1 3 3 2 2 4 4 样例输出 1.00 */ //矩形的相交面积. #include<stdio.

基础练习 矩形面积交

时间限制:1.0s   内存限制:512.0MB 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行,每行描述一个矩形. 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示. 输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位. 样例输入 1 1 3 3 2 2 4 4 样例输出 1.00 hint:给你两个矩形的两个对角坐标,让

[CSP校内集训]矩形面积交(树状数组)

题意 给\(n\)个互不相交的矩形,再给\(m\)个询问,每次给一个矩形求它与这\(n\)个矩形的面积交 思路 自己写的太丑了导致DEBUG了一个半小时qwq 一对矩形的交可以拆分成二维前缀和形式下的矩形的交,于是变成判断16次矩形的交(不想画图...只想口胡) 这些矩形都有\(x_0=0,y_0=0\),即左下角为坐标原点,于是一个矩形可以只用右上角的坐标表示: 对于一个询问的矩形\((x,y)\)和另一个矩形\((x_i,y_i)\),它们的交为\(min(x,x_i)\times min(

【试题 基础练习 矩形面积交】最废的矩形相交面积解

问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行,每行描述一个矩形. 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示. 输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位. 样例输入 1 1 3 32 2 4 4 样例输出 1.00 import java.io.BufferedWriter; import java.io.

hdu1255(线段树——矩形面积交)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题意:求N个矩形中,求被覆盖至少俩次的面积和 分析:覆盖两次即col[rt]>=2就好.一开始将线段pushdown到叶子节点,根据col[rt]>=2才pushup上来,差点超时了,其实可以lazy标志,整段更新的,只是没想到而已. 用sum[rt][0]表示该节点rt代表的线段被覆盖一次的长度之和,则 if(col[rt])sum[rt][0]=pos[r+1]-pos[l];//整段被

蓝桥杯 BASIC-18 矩形面积交(线段重叠)

[思路]:将各个边平行到x.y轴上,重叠部分相乘得面积.getLen中是两条线相交的各种判断.注意:因为输入一个矩形的两个点并没有说先输入左下再输入右上(测试数据也确实有先输入了右上),所以一定要两两排序.否则会出现a大于b的情况. [AC代码]: #include <iostream> #include <algorithm> #include <iomanip> #include <cstdio> #include <cstring> usi

HDU2056 Rectangles 【矩形面积交】

Rectangles Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15950    Accepted Submission(s): 5104 Problem Description Given two rectangles and the coordinates of two points on the diagonals of e

蓝桥网试题 java 基础练习 矩形面积交

------------------------------------------------------------------------------------------- 思路见锦囊2 ------------------------------------------------------------------------------------------- 算法 1 import java.util.Scanner; 2 public class Main { 3 publ