杭电2056 Rectangles
来源:互联网 发布:c语言while求阶乘 编辑:程序博客网 时间:2024/06/11 20:52
Problem Description
Given two rectangles and the coordinates of two points on the diagonals of each rectangle,you have to calculate the area of the intersected part of two rectangles. its sides are parallel to OX and OY .
Input
Input The first line of input is 8 positive numbers which indicate the coordinates of four points that must be on each diagonal.The 8 numbers are x1,y1,x2,y2,x3,y3,x4,y4.That means the two points on the first rectangle are(x1,y1),(x2,y2);the other two points on the second rectangle are (x3,y3),(x4,y4).
Output
Output For each case output the area of their intersected part in a single line.accurate up to 2 decimal places.
Sample Input
1.00 1.00 3.00 3.00 2.00 2.00 4.00 4.005.00 5.00 13.00 13.00 4.00 4.00 12.50 12.50
Sample Output
1.0056.25
#include<iostream>#include<cmath>#include<algorithm>using namespace std;int main(){ double x1,y1,x2,y2,x3,y3,x4,y4; double x[4],y[4]; double s,l,h; while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4) { x[0]=x1;x[1]=x2;x[2]=x3;x[3]=x4; y[0]=y1;y[1]=y2;y[2]=y3;y[3]=y4; sort(x,x+4); sort(y,y+4); l=fabs(x2-x1)+fabs(x4-x3)-(x[3]-x[0]); h=fabs(y2-y1)+fabs(y4-y3)-(y[3]-y[0]); s=l*h; if(l<=0 || h<=0)s=0.00; printf("%.2lf\n",s);} return 0;}
0 0
- 杭电 2056 Rectangles
- 杭电2056 Rectangles
- 杭电2056Rectangles
- 杭电2056、Rectangles
- 杭电ACM 2056 Rectangles
- 杭电2056之Rectangles 杭电
- Rectangles 2056
- 2056 Rectangles
- 2056 Rectangles
- hdu 2056 Rectangles
- HDU 2056 Rectangles
- 2056——Rectangles
- hdu 2056 Rectangles
- HDU 2056 Rectangles
- hdoj.2056 Rectangles 20140729
- HDU 2056 rectangles
- HDU_ACM-2056 Rectangles
- HDU - 2056 Rectangles
- 检查是否Google Play Services可以使用。
- leetcode 209 : Minimum Size Subarray Sum
- 简明 Vim 练级攻略
- leetcode 206: Reverse Linked List
- Tsinsen_A1024. 瓷砖问题再讨论
- 杭电2056 Rectangles
- 一个典型的SWIG源码示例文件
- 南阳217 a letter and a number
- 剖析OC中的bounds与frame的区别
- 欢迎使用CSDN-markdown编辑器
- Leetcode: Length of Last Word
- Leetcode: Longest Common Prefix
- 基于Redis实现分布式消息队列(3)
- EXCEL VBA知识总结