蓝桥杯_基础训练_矩阵面积交

基础练习 矩形面积交

时间限制:1.0s   内存限制:512.0MB

问题描述

  平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。

输入格式

  输入仅包含两行,每行描述一个矩形。
  在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。

输出格式

  输出仅包含一个实数,为交的面积,保留到小数后两位。

样例输入

1 1 3 3
2 2 4 4

样例输出

1.00

题解:

由于不知道输入的对角线是主对角线还是副对角线。

要先把每个矩形的坐标转换成副对角线:把每个矩形的横坐标和纵坐标进行排序。这是为什么呢?

看图:

(1,3)(3,1)转换成(1,1)(3,3)对应的矩形相同。

然后判断它们是否相离。看图:

如果x1<=x2||x0>=x3||y1<=y2||y0>=y3则相离。

然后再把所有的横坐标和纵坐标排序。

则相交面积是:(x2-x1)*(y2-y1)。

AC代码:

#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int main()
{
    double x[4];
    double y[4];
    cin>>x[0]>>y[0]>>x[1]>>y[1];
    cin>>x[2]>>y[2]>>x[3]>>y[3];
    sort(x,x+2);
    sort(x+2,x+4);
    sort(y,y+2);
    sort(y+2,y+4);
    if(x[0]>=x[3]||x[1]<=x[2]||y[0]>=y[3]||y[1]<=y[2])
    {
        printf("%.2lf\n",0);
    }
    else
    {
        sort(x,x+4);
        sort(y,y+4);
        double res=(x[2]-x[1])*(y[2]-y[1]);
        printf("%.2lf\n",res);
    }

    return 0;
}

  

时间: 2024-12-23 14:01:58

蓝桥杯_基础训练_矩阵面积交的相关文章

蓝桥杯_基础训练_数的读法

有点恶心的一道题,做了整整半天才完全对. 思路: 把输入的数从右往左每4位进行分割.然后判断单位级数,输出即可. #include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { string a; string num[]={"ling ","yi ","er ","san &q

蓝桥杯_基础训练_完美的代价(贪心)

基础练习 完美的代价 时间限制:1.0s   内存限制:512.0MB 问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的.现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串. 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!) 输入格式 第一行是一个整数N,表示接下来的字符串的长度(N <= 80

蓝桥杯_基础训练_龟兔赛跑预测

#include <iostream> using namespace std; int main() { int time=0,v1,v2,t,s,l; while(cin>>v1>>v2>>t>>s>>l) { bool gui=false,tu=false; //gui为真则龟到达终点,tu为真表示兔到达终点 int guil=0,tul=0; //guil表示龟当前的路程,tul表示兔当前时间的路程 time=0; //初始化

第三届蓝桥杯javaC组_土地测量

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 输入描述:  无 * 问题描述: 造成高房价的原因有许多,比如土地出让价格.既然地价高,土地的面积必须仔细计算.遗憾的是,有些地块

第四届蓝桥杯javaC组_马虎的算式

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了. 有一次,老师出的题目是:36 x 495 = ? 他却

第四届蓝桥杯javaC组_第39级台阶

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着

第四届蓝桥杯javaC组_有理数类

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 有理数就是可以表示为两个整数的比值的数字.一般情况下,我们用近似的小数表示.但有些时候,不允许出现误差,必须用两个整数

第四届蓝桥杯javaC组_核桃的数量

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).

第四届蓝桥杯javaC组_打印十字图

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg) 对方同时也需要在电脑dos窗口中