HDU-2056-Rectangles
2014-11-09 14:21
239 查看
题目链接
http://acm.hdu.edu.cn/showproblem.php?pid=2056
题意 : 给你两个矩形,的两个点,每个矩形的两个点是这个矩形的对角线的两个点。
把一个矩形的对角线的两个点经过如下变换
即可化两点为左下,和右上的两个点
。以便于解题。
n1=min(x1,x2); m1=min(y1,y2);
n2=max(x1,x2); m2=max(y1,y2);
n3=min(x3,x4); m3=min(y3,y4);
n4=max(x3,x4); m4=max(y3,y4);
先排除不交的情况即
if(n1>=n4||m1>=m4||n3>=n2||m3>=m2)
printf("0.00\n");
这四种情况;
看代码
#include<stdio.h>
#include<iostream>
using namespace std;
int main(void)
{
double x1,x2,x3,x4,y1,y2,y3,y4;
double n1,m1,n2,m2,n3,m3,n4,m4;
double h,d,s;
while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4)
{
n1=min(x1,x2); m1=min(y1,y2);
n2=max(x1,x2); m2=max(y1,y2);
n3=min(x3,x4); m3=min(y3,y4);
n4=max(x3,x4); m4=max(y3,y4);
if(n1>=n4||m1>=m4||n3>=n2||m3>=m2)
printf("0.00\n");
else
{
d=min(m2,m4)-max(m3,m1);//求高;
h=min(n2,n4)-max(n3,n1);//求宽;
s=h*d;
printf("%.2lf\n",s);
}
}
return 0;
}
思维问题,想明白再来做。实实在在。
http://acm.hdu.edu.cn/showproblem.php?pid=2056
题意 : 给你两个矩形,的两个点,每个矩形的两个点是这个矩形的对角线的两个点。
把一个矩形的对角线的两个点经过如下变换
即可化两点为左下,和右上的两个点
。以便于解题。
n1=min(x1,x2); m1=min(y1,y2);
n2=max(x1,x2); m2=max(y1,y2);
n3=min(x3,x4); m3=min(y3,y4);
n4=max(x3,x4); m4=max(y3,y4);
先排除不交的情况即
if(n1>=n4||m1>=m4||n3>=n2||m3>=m2)
printf("0.00\n");
这四种情况;
看代码
#include<stdio.h>
#include<iostream>
using namespace std;
int main(void)
{
double x1,x2,x3,x4,y1,y2,y3,y4;
double n1,m1,n2,m2,n3,m3,n4,m4;
double h,d,s;
while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4)
{
n1=min(x1,x2); m1=min(y1,y2);
n2=max(x1,x2); m2=max(y1,y2);
n3=min(x3,x4); m3=min(y3,y4);
n4=max(x3,x4); m4=max(y3,y4);
if(n1>=n4||m1>=m4||n3>=n2||m3>=m2)
printf("0.00\n");
else
{
d=min(m2,m4)-max(m3,m1);//求高;
h=min(n2,n4)-max(n3,n1);//求宽;
s=h*d;
printf("%.2lf\n",s);
}
}
return 0;
}
思维问题,想明白再来做。实实在在。
相关文章推荐
- HDU 2056 Rectangles
- HDU - 2056 Rectangles
- HDU 2056 Rectangles
- hdu-2056-Rectangles
- 【暑期基础3】D 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——2056Rectangles(几何计算)
- HDU 2056 Rectangles(计算相交面积)
- HDU 2056 Rectangles