7F - 无限的路
甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧。
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 // 根据两点的位置关系递归
#include<stdio.h>
#include<math.h> double length(int x1, int y1, int x2, int y2)
{
double s=;
int t;
if(x1>x2)
{
t=x1; x1=x2; x2=t;
t=y1; y1=y2; y2=t;
}
if(x1==x2&&y1==y2) return s;
else
{
if(x1==&&y1==)
{ s++; y1++; }
if(x1==&&y2==&&(y1-x2)==)
{
s+=sqrt(y1*y1+x2*x2);
return s;
}
else if(x2-x1==y1-y2)
{
s+=(x2-x1)*sqrt(2.0);
return s;
}
else
{
if(x1==)
{
s+=sqrt((y1-)*(y1-)+y1*y1);
x1=y1-; y1=;
}
else
{
if(x1+y1>x2+y2)
{
s+=x1*sqrt(2.0);
y1+=x1; x1=;
}
else
{
s+=x2*sqrt(2.0);
y2+=x2; x2=;
}
}
return s+length(x1,y1, x2,y2);
}
}
} int main()
{
int n, x1,y1, x2,y2;
double s;
scanf("%d", &n);
while(n--)
{
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
s=length(x1,y1, x2,y2);
printf("%.3f\n", s);
}
return ;
}
WA
// 分别求两点到原点的距离,结果为其差的绝对值
#include<stdio.h>
#include<math.h> double length(int x, int y)
{
double s=;
int i;
for(i=;i<x+y;i++)
s+=i*sqrt(2.0);
s+=x*sqrt(2.0); // 斜率为-1的路径长度
for(i=;i<x+y;i++)
s+=sqrt(i*i+(i+)*(i+)); // 斜率非-1或斜率不存在的路径长度
return s;
} int main()
{
int n, x1,y1, x2,y2;
double s1, s2;
scanf("%d", &n);
while(n--)
{
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
s1=length(x1,y1); s2=length(x2,y2);
printf("%.3f\n", fabs(s1-s2));
}
return ;
}
AC
7F - 无限的路的更多相关文章
- 无限的路_hdu_2073(AC).java
		
无限的路 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
 - JSU省赛队员选拔赛个人赛1(Coin Change、Fibbonacci Number、Max Num、单词数、无限的路、叠筐)
		
JSU省赛队员选拔赛个人赛1 一.题目概述: A.Coin Change(暴力求解.动态规划) B.Fibbonacci Number(递推求解) C.Max Num(排序.比较) D.单词数 ...
 - HDOJ 2073 无限的路
		
Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还 ...
 - HDU 2073 无限的路
		
Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现上面的图还 ...
 - HDU   2073    无限的路    (模拟)
		
题目链接 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现 ...
 - 解题报告:hdu 2073 无限的路
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2073 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接 ...
 - hdoj--2073--无限的路(数学规律)
		
 无限的路 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
 - 杭电ACM分类
		
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
 - 计算机学院2014年“新生杯”ACM程序设计大赛
		
1440: 棋盘摆车问题 对于输入n,k: 1.当n<k时,无满足的摆法 2.否则 第一个车可以排n*n个位置(即整个棋盘),第二个可排(n-1)*(n-1)个位置,…… 正如排列组合一样,车与 ...
 
随机推荐
- javascript 字符串与正则
			
序:就是简单记录下正则的一些基础,还有cookie的一些设置获取删除 #字符串操作 search 查找 substring 获取子字符串 str.substring(start,stop) charA ...
 - 【Python】itchat
			
错误:http://bbs.51cto.com/thread-1501477-1.html 解决方法降低certifi版本 >>> import itchat >>> ...
 - linux gcc 静态 动态链接库
			
静态链接库 首先生成依赖函数的目标文件 gcc -c source1.c source2.c; 然后归档目标文件到静态库 ar -rcs libYourID.a obj1.o obj2.o; 然后我们 ...
 - python自动化,使用unittest对界面操作,读取excel表格数据输入到页面查询结果,在把结果保存到另外一张excel中
			
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom ...
 - 用360清理了一下电脑后发现Eclipse软件无法打开
			
今天用360安全卫士清理了一下电脑,然后双击Eclipse软件发现不能打开,弹出以下界面: 解决方法如下: 打开计算机-属性-高级系统设置,修改系统变量里变量名为JAVA_HOME.CLASSPATH ...
 - Swoft 图片上传与处理
			
上传 在Swoft下通过 \Swoft\Http\Message\Server\Request -> getUploadedFiles()['image'] 方法可以获取到一个 Swoft\Ht ...
 - Java自学如何找工作
			
今天聊一下可能大多数人都关注的问题“自学Java如何找工作”那么首先你就要明确现在招聘Java开发的基本要求是什么?下面我们来看一下招聘网站上面的要求,在这里我只随便找了一个比较全面的要求,自己可以去 ...
 - 本地jar包添加至Maven仓库
			
Maven命令将本地的jar包方放到maven仓库中 //自定义本地的jar包在pom文件的参数 <dependency> <groupId>com.eee</group ...
 - vue-cli脚手架中webpack配置基础文件详解
			
一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wep ...
 - 今天遇到一个怪异的问题,maven生成项目war包中有一个Jar包不是我指定的版本,运行时会找不到符号,o(╥﹏╥)o
			
我要求的jar包: 这是我parent项目中pom文件的依赖管理 这是我要生成war包那个工程最后依赖的jar包,这个时候它们的版本号还是一致的 最后项目生成的: 下图是Dmaven.test.ski ...