hdu 2056 Rectangles
来源:互联网 发布:python解析日志文件 编辑:程序博客网 时间:2024/06/04 23:29
题目
这道题大一上学期的时候也做过,但是那个时候没有做出来,今天又看了一遍。
这主要是个数学问题。
刚开始想到分为这么几种情况,觉得好复杂啊,转念一想
只要(x4<x1)或者(y4<y1)或者(x3>x2)或者(y3>y2),就一定不能重合
最后得到的代码如下:
#include <stdio.h>double min(double x1,double x2){ if(x1<x2) return x1; else return x2;}double max(float x1,double x2){ if(x1>x2) return x1; else return x2;}void change(double *a ,double *b){double temp;temp = *a;*a = *b;*b = temp;}int main(){ double x1,x2,x3,x4,y1,y2,y3,y4,s; while(~scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4)) {if(x1>x2) change(&x1,&x2);if(x3>x4) change(&x3,&x4);if(y1>y2) change(&y1,&y2);if(y3>y4) change(&y3,&y4); if((x4>x1)&&(y4>y1)&&(x3<x2)&&(y3<y2)) { s=(min(x2,x4)-max(x1,x3))*(min(y2,y4)-max(y1,y3)); printf("%.2lf\n",s); } else printf("0.00\n"); } return 0;}
但是,最开始忘了考虑这个了,所以交了好几次都WA,因为只考虑到,矩形在第一象限,倘若在第二象限是负数就错了。。。
阅读全文
0 0
- hdu 2056 Rectangles
- HDU 2056 Rectangles
- hdu 2056 Rectangles
- HDU 2056 Rectangles
- HDU 2056 rectangles
- HDU - 2056 Rectangles
- HDU 2056 Rectangles
- HDU 2056 Rectangles
- HDU 2056 Rectangles
- hdu 2056 Rectangles
- hdu 2056 Rectangles
- hdu 2056 Rectangles
- HDU 2056 Rectangles
- hdu 2056 Rectangles
- hdu-2056-Rectangles
- HDU 2056 Rectangles
- hdu 2056 Rectangles
- hdu 2056 -- Rectangles (矩形重合)
- C#判断文件夹目录是否为隐藏
- 内省和泛型
- [TensorFlow实战] 构建LeNet实现手写数字识别
- android.view.WindowLeaked: Activity com.moreunion.zhenghao.ui.diary.DiaryDetailsActivity has leaked
- OpenCV与Python之图像的读入与显示以及利用Numpy的图像转换
- hdu 2056 Rectangles
- C#面向对象(OOP)入门—第一天—多态和继承(方法重载)
- ubuntu下ssh和scp 脚本一键下载
- 企业微信推送
- CNN目标检测与分割(一):Faster RCNN详解
- C#面向对象(OOP)入门—第二天—多态和继承(继承)
- C++ 智能指针详解
- submit提交和button提交的区别
- java 接口