HDOJ 2056 Rectangles(坐标排序、矩形面积并)
来源:互联网 发布:手机淘宝可以比价吗 编辑:程序博客网 时间:2024/06/01 10:51
题目大意:求两个矩形相交的面积,矩形的边均平行于坐标轴。
我的想法是把矩形的八个x坐标和y坐标分别排序,然后相加的小矩形的四个顶点一定是排序后的中间值。
另外还有判断一下是否相交。
AC代码:
#include <iostream>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;double x[4], y[4];inline bool judge(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) { if (x1 <= x3 && x1 <= x4 && x2 <= x3 && x2 <= x4) return true; else if (x3 <= x1 && x3 <= x2 && x4 <= x1 && x4 <= x2) return true; else if (y1 <= y3 && y1 <= y4 && y2 <= y3 && y2 <= y4) return true; else if (y3 <= y1 && y3 <= y2 && y4 <= y1 && y4 <= y2) return true; else return false;}inline void comp_x(double x1, double x2, double x3, double x4) { x[0] = x1, x[1] = x2, x[2] = x3, x[3] = x4; sort(x, x+4); return ;}inline void comp_y(double y1, double y2, double y3, double y4) { y[0] = y1, y[1] = y2, y[2] = y3, y[3] = y4; sort(y, y+4); return ;}int main() { double x1, y1, x2, y2, x3, y3, x4, y4; while (~scanf("%lf%lf%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4)) { if (judge(x1, y1, x2, y2, x3, y3, x4, y4)) { printf("0.00\n"); } else { comp_x(x1, x2, x3, x4); comp_y(y1, y2, y3, y4); printf("%.2lf\n", (x[2]-x[1])*(y[2]-y[1])); } } return 0;}
0 0
- HDOJ 2056 Rectangles(坐标排序、矩形面积并)
- hdoj 2056 Rectangles 【求矩形面积】
- HDU 2056 Rectangles(矩形面积交)
- hdoj Rectangles 2056 (数学几何&技巧)求两矩形相交面积
- Overlapping Rectangles(线段树,矩形面积并)
- hdoj 2056 Rectangles(矩形) 【几何】
- 矩形面积并集,2017ICPC网络赛(南宁)Overlapping Rectangles
- poj 3695 Rectangles 容斥原理解矩形面积并
- 【坐标离散化】矩形面积求并
- HDOJ-2056(Rectangles)
- HDU2056 Rectangles 【矩形面积交】
- HDU 2056 Rectangles (求相交矩形的面积)
- HDU 2056 Rectangles (求两个相交矩形面积)
- 旋转卡壳法求点集最小外接矩形(面积)并输出四个顶点坐标
- hdoj2056(Rectangles 求矩形重叠面积
- HDU 2056 Rectangles(计算相交面积)
- 矩形面积并、矩形面积交、矩形周长并(线段树、扫描线总结)
- 矩形面积并、矩形面积交、矩形周长并(线段树、扫描线总结)
- win7/win8.1 X64下搭建Cocos2dx-3.0的开发环境
- 从零开始—java中的多值输出问题
- HDU 1074 Doing Homework(状态压缩dp)
- Fedora14下安装GoogleEarth.bin
- hdu 1402 FFT
- HDOJ 2056 Rectangles(坐标排序、矩形面积并)
- servlet 理解 --servlet笔记
- 矩阵取数游戏
- POJ 3067 树状数组 线段树
- CocoaPods安装和使用教程
- CxImage内存泄露
- python代理服务器
- 黑马程序员---面向对象及工具类常用API知识点总结
- 12 个有效的提高编程技能的方法