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)个位置,…… 正如排列组合一样,车与 ...
随机推荐
- react-native shadow失效
做边框阴影,但是有时候会失效,内容产生阴影,而边框无效,今天发现了原因,没错,就是没有设置背景颜色导致的.如图
- java使用jxl,poi解析excel文件
public interface JavaExcel { /** * 使用jxl写excel文件 */ public void writeJxlExcel(); /** * 使用jxl读excel文件 ...
- python selenium 基本常用操作
最近学习UI自动化,把一些常用的方法总结一下,方便自己以后查阅需要.因本人水平有限,有不对之处多多包涵!欢迎指正! 一.xpath模糊匹配定位元素 武林至尊,宝刀屠龙刀(xpath),倚天不出(css ...
- retry
async function retryGetItem( oriFun) { var operation = retry.operation(); operation.attempt(function ...
- bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】
需求:输入框的"供应商编码"不能为空而且不能与数据库重复,供应商名称不能为空. 解决: 1.input如下 <input id="ssupplierNo" ...
- java实现字符串和LIST,MAP转换
需要下载第三方的jar :net.sf.json import java.io.BufferedReader; import java.io.InputStream; import java.io.I ...
- LeetCode 142. Linked List Cycle II 判断环入口的位置 C++/Java
Given a linked list, return the node where the cycle begins. If there is no cycle, return null. To r ...
- Spring Cloud和Spring Boot的区别
Spring MVC: Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC ...
- supergridcontrol记录
单元格换行: this.gridColumn2.CellStyles.Default.Alignment = DevComponents.DotNetBar.SuperGrid.Style.Align ...
- 关于vue
render:(h)=>h(App):声明App组件的内容 挂载到节点 const root=document.createElement("div")document.bo ...