hdu2056 Rectangles
来源:互联网 发布:手机淘宝怎样看退货率 编辑:程序博客网 时间:2024/04/29 00:09
题目大意:
输入两个矩形对角线上的两点坐标,输出两个矩形重叠面积。
大致思路:
水题中稍微难一点的类型。。。输入的两点不一定是主对角线上的。。。所以需要处理一下
C:
#include<stdio.h>struct point{ double x1,y1,x2,y2;}; //用结构体是个好习惯double max(double a,double b){ return a>b?a:b;} //模仿dalao自己编写函数double min(double a,double b){ return a<b?a:b;}int main(){ struct point p1,p2; double x1,y1,x2,y2; //输入有点长,注意不要打错 while(scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&p1.x1,&p1.y1,&p1.x2,&p1.y2,&p2.x1,&p2.y1,&p2.x2,&p2.y2)!=EOF) { x1=min(p1.x1,p1.x2); y1=min(p1.y1,p1.y2); x2=max(p1.x1,p1.x2); y2=max(p1.y1,p1.y2); p1.x1=x1,p1.y1=y1,p1.x2=x2,p1.y2=y2; //处理为矩形左下和右上两点,下面同理 x1=min(p2.x1,p2.x2); y1=min(p2.y1,p2.y2); x2=max(p2.x1,p2.x2); y2=max(p2.y1,p2.y2); p2.x1=x1,p2.y1=y1,p2.x2=x2,p2.y2=y2; x1=max(p1.x1,p2.x1); x2=min(p1.x2,p2.x2); y1=max(p1.y1,p2.y1); y2=min(p1.y2,p2.y2); /*判断两矩形是否相交, 要么是一个矩形x最大小于另一个矩形x最小 要么是一个矩形y最大小于另一个矩形y最小, 重叠的话,(x2-x1)*(y2-y1)即为面积*/ printf("%.2lf\n",(x1>=x2||y1>=y2)?0.00:(x2-x1)*(y2-y1)); //条件运算符是个缩短代码长度的好东西~ } return 0;}
0 0
- hdu2056 Rectangles
- hdu2056 Rectangles
- HDU2056 Rectangles 【几何】
- HDU2056 Rectangles【水题】【相交面积】
- HDU2056 Rectangles 【矩形面积交】
- hdu2056 Rectangles(C语言)
- hdu2056
- HDU2056
- hdu2056
- HDU2056
- HDU2056
- HDU2056
- Rectangles
- Rectangles
- Rectangles
- Rectangles
- Rectangles
- hdu2056 计算机几何 细节
- 用js得到网站表单提交的内容
- html标签布局需注意
- 基础篇----linux 软件安装(待补充)
- AndroidN编译错误
- LCT函数详解
- hdu2056 Rectangles
- 系统安装
- 你真的会沟通吗? --下部
- NSMutableAttributedString
- Laravel研究笔记二(artisan命令列表)
- kafka单机版环境搭建与测试
- @Override 注解报错,eclipse
- .NET(C#)连接各类数据库
- android:versionCode和android:versionName 用途