HDU2056JAVA
Rectangles
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20375 Accepted Submission(s):
6607
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 .
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).
intersected part in a single line.accurate up to 2 decimal places.
import java.util.Scanner;
class Main{
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
double t;
double sum=0.0;
double x1=cin.nextDouble();
double y1=cin.nextDouble();
double x2=cin.nextDouble();
double y2=cin.nextDouble();
double x3=cin.nextDouble();
double y3=cin.nextDouble();
double x4=cin.nextDouble();
double y4=cin.nextDouble();
if(x1>x2){t=x1;x1=x2;x2=t;}
if(y1>y2){t=y1;y1=y2;y2=t;}
if(x3>x4){t=x3;x3=x4;x4=t;}
if(y3>y4){t=y3;y3=y4;y4=t;}
x1=max(x1,x3);
x2=min(x2,x4);
y1=max(y1,y3);
y2=min(y2,y4);
if(x1>x2||y1>y2){
System.out.println("0.00");
}
else{
sum=(x2-x1)*(y2-y1);
System.out.printf("%.2f",sum);
System.out.println();
}
}
}
private static double min(double x2, double x4) {
if(x2<x4)
return x2;
else
return x4;
}
private static double max(double x1, double x3) {
if(x1>x3)
return x1;
else
return x3;
}
}
这个地方要注意的是的判断一下图形是否相交,如果不相交,还是要输出按题目中的输出要求:0.00;不然就会出错,这个题目只有相交和分离两种状态;
HDU2056JAVA的更多相关文章
随机推荐
- 【Tools】Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- Python还是很重要的,不能丢。学习IF和WHILE
number = 23 guess = int(input('Enter an interger : ')) if guess == number: print('Congratulations, y ...
- 【POJ 1741】 Tree (树的点分治)
Tree Description Give a tree with n vertices,each edge has a length(positive integer less than 100 ...
- bzoj1444
显然自动机上高斯消元根据AC自动机上的转移可以列出一系列方程但这个样的方程解出来全0是一组解说明有线性组合的情况考虑除非没人能赢,否则每个人赢的概率和为1那么我们只要把原来的第一个方程换成这个即可 . ...
- 迷宫城堡--HDOJ 1269
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- LoadRunner_Analysis(z) 分析
LoadRunner_Analysis(z) 分析 lr_Analysis(z) Analysis Summary Page Analysis Summary(分析总结页面) 分为三个部分: Stat ...
- JavaScript高级程序设计59.pdf
dropEffect和effectAllowed 利用dataTransfer对象,传输数据.确定被拖动元素以及作为放置目标的元素能够接受什么操作,为此需要访问对象的两个属性dropEffect和ef ...
- Dot Net设计模式—MVC模式
1 MVC设计模式简介 MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好的实现了数据层与表示层的分离.MVC作为一种开发模型,通常用于分布式应用系统的设计和分析中,以及用于确定 ...
- Hadoop 中 Eclipse 的配置
先启动Hadoop守护进程,进入hadoop安装目录,执行bin/start-all.sh 主要是为了之后能正确测试 Ubuntu中下载安装Eclipse,执行sudo apt-get install ...
- 一段网上java常见escape和unescape方法的BUG
escape编码和unescape编码,就是将一个字符转换为16进制unicode编码,前面加%字符进行标识. 此处不再多做解释,参考这里:http://www.jb51.net/article/23 ...