无限的路

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4459    Accepted Submission(s): 2303

Problem Description
甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形:

甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧。

 
Input
第一个数是正整数N(≤100)。代表数据的组数。

每组数据由四个非负整数组成x1,y1,x2,y2;所有的数都不会大于100。

 
Output
对于每组数据,输出两点(x1,y1),(x2,y2)之间的折线距离。注意输出结果精确到小数点后3位。
 
Sample Input
5
0 0 0 1
0 0 1 0
2 3 3 1
99 99 9 9
5 5 5 5
 
Sample Output
1.000
2.414
10.646
54985.047
0.000
 
Author
Lily
 
Source
 

/*
*
* 8877063 2013-08-08 20:03:11 Accepted 2073 125MS 3360K 803 B Java zhangyi
*/
import java.text.DecimalFormat;
import java.util.Scanner;
public class MM{//求点到原点的距离,最后相减的绝对值
public static void main(String[] args) {
//DecimalFormat dec = new DecimalFormat("0.000");
Scanner input=new Scanner(System.in);
int N=input.nextInt();
while(N-->0){
int x=input.nextInt();
int y=input.nextInt();
int x1=input.nextInt();
int y1=input.nextInt();
//System.out.println(dec.format(Math.abs(f(x,y)-f(x1,y1))));
System.out.println(String.format("%.3f",Math.abs(f(x,y)-f(x1,y1))));
//上边的两个输出格式控制都可以用,下边的不可以用,否则会PE,评判系统不支持
//System.out.printf("%.3f\n",Math.abs(map[x1][y1]-map[x][y]));
}
} private static double f(int x, int y) {
double sum=0.0;
int n=x+y;
for(int i=0;i<=n;i++){
sum+=Math.sqrt(Math.pow(i, 2)+Math.pow(i-1, 2));//无点线的长度
}
for(int i=1;i<n;i++){//45度线的长度
sum+=Math.sqrt(2*((double)Math.pow(i, 2)));
}
sum+=(double)x*Math.sqrt(2.0);//
return sum;
}
}

//8877253	2013-08-08 20:14:46	Accepted	2073	156MS	4104K	711 B	Java	zhangyi
import java.util.Scanner; public class Main{//先打表后输出
private static double map[][]=new double[205][205];
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
double sum=0; for(int i=1;i<205;i++){
sum+=Math.sqrt((i-1)*(i-1)+i*i);
map[0][i]=sum;
sum+=Math.sqrt(2*(i*i));
map[i][0]=sum;
}
for(int i=1;i<205;i++){
for(int j=1;j<205-i;j++){
map[i][j]=map[i-1][j+1]+Math.sqrt(2);
}
}
int N=input.nextInt();
while(N-->0){
int x=input.nextInt();
int y=input.nextInt();
int x1=input.nextInt();
int y1=input.nextInt();
System.out.println(String.format("%.3f",Math.abs(map[x1][y1]-map[x][y])));
}
}
}


//当时PE了N次,终于知道哪错了,原来HDU评判系统不支持java调用c语言输出函数,切记切记!
正确的输出格式控制:System.out.println(String.format("%.3f",Math.abs(map[x1][y1]-map[x][y])));

不能这样用,(其他可以用)System.out.printlf("%.3f",Math.abs(map[x1][y1]-map[x][y]));

具体大家可以参考原来PE代码链接:http://blog.csdn.net/zhangyiacm/article/details/9840537

无限的路_hdu_2073(AC).java的更多相关文章

  1. JSU省赛队员选拔赛个人赛1(Coin Change、Fibbonacci Number、Max Num、单词数、无限的路、叠筐)

    JSU省赛队员选拔赛个人赛1 一.题目概述: A.Coin Change(暴力求解.动态规划)     B.Fibbonacci Number(递推求解) C.Max Num(排序.比较) D.单词数 ...

  2. Java进阶之路 - 1.走近Java

    Java进阶之路 - 1.走近Java 一.走近Java思维导图

  3. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  4. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  5. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  6. 我的程序员之路:自学Java篇

    序章 时光疾驰,从事IT行业已两年有余. 16年11月开始自学Java,从此开启自学之路,后来实习期自学大数据.python.爬虫等,最终成长为一名平凡的程序员.回首望去,一路上的过往历历在目,有初学 ...

  7. mac os intellij如何快路查看一个java类的所有方法,结构

    如果是自己写的java类,点击点击导航的project-setting-show members 如果是系统库的,点击structure 再点一下lib中的类,或者快捷键 command+F12

  8. HDOJ 2073 无限的路

    Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还 ...

  9. 使用Google Roads API抓取道路信息(java实现)

    Google Roads API提供了强大的道路获取接口,用户仅仅需调用对应的API就能够获取对应区域的道路坐标以及道路的限速信息. 详细的调用方法例如以下: https://roads.google ...

随机推荐

  1. 【转】Compile、Make和Build的区别

    原文网址:http://lavasoft.blog.51cto.com/62575/436216 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任 ...

  2. UESTC_握手 CDOJ 913

    握手 Time Limit: 2000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit Status ...

  3. Bring Your Charts to Life with HTML5 Canvas and JavaScript

    Bring Your Charts to Life with HTML5 Canvas and JavaScript Bring Your Charts to Life with HTML5 Canv ...

  4. No.26

    "信是未见之事的实底,是所望之事的确据".

  5. Hibernate框架(一)——总体介绍

    作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的 ...

  6. Splay POJ3468(老题新做)

    A Simple Problem with Integers Time Limit:5000MS     Memory Limit:131072KB     64bit IO Format:%I64d ...

  7. setSingleChoiceItems和setPositiveButton两者触发时期

    两者都是对话框中的操作当中 setSingleChoiceItems是在点击对话框中的列表时候被触发,当点击后运行实现的内容 setPositiveButton是在点击完对话框中的确定button时被 ...

  8. nomasp 博客导读:Android、UWP、Algorithm、Lisp(找工作中……

    Profile Introduction to Blog 您能看到这篇博客导读是我的荣幸.本博客会持续更新.感谢您的支持.欢迎您的关注与留言.博客有多个专栏,各自是关于 Android应用开发 .Wi ...

  9. 使用Xcode上传代码至GitHub

    几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习.但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚 ...

  10. linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程

    关于登录linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...