HDU2073 无限的路【水题】【递推】

2024-06-15 05:38
文章标签 无限 递推 水题 hdu2073

本文主要是介绍HDU2073 无限的路【水题】【递推】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无限的路


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

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

浙江工业大学网络选拔赛


题目大意:按照图上所示,给你两点坐标,求两点间的折线距离。

思路:利用递推。这里,模拟了从(0,0)点到(x,y)点折线路线递推的过程。

设i为横坐标,j为纵坐标。则路径为 先右下到纵坐标为0,再一步到达横

坐标为0的,纵坐标为原横坐标+1的位置。

所以直接模拟递推求。用ans[x][y]保存(0,0)点到(x,y)点的距离。最终

结果为:fabs(ans[x1][y1]-ans[x2][y2])。


#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;double ans[220][220];int main()
{for(int j = 1; j < 200; j++){for(int i = 0; i <= j; i++){if(i == 0)ans[i][j] = ans[j-1][i] + sqrt(1.0*j*j+1.0*(j-1)*(j-1));elseans[i][j-i] = ans[i-1][j-i+1] + sqrt(2.0);}}int N;int x1,y1,x2,y2;cin >> N;while(N--){cin >> x1 >> y1 >> x2 >> y2;printf("%.3lf\n",fabs(ans[x1][y1]-ans[x2][y2]));}return 0;
}


这篇关于HDU2073 无限的路【水题】【递推】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062568

相关文章

三十八篇:架构大师之路:探索软件设计的无限可能

架构大师之路:探索软件设计的无限可能 1. 引言:架构的艺术与科学 在软件工程的广阔天地中,系统架构不仅是设计的骨架,更是灵魂所在。它如同建筑师手中的蓝图,决定了系统的结构、性能、可维护性以及未来的扩展性。本节将深入探讨软件架构的定义、其在系统设计中的核心作用,以及不同架构风格对系统特性的影响。 软件架构的定义及其在系统设计中的核心作用 软件架构,简而言之,是指软件系统的基本组织结构,

博弈论+递推+调和级数枚举,CF 1033C - Permutation Game

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1033C - Permutation Game 二、解题报告 1、思路分析 我们考虑一个位置符合什么条件可以必胜? 如果可以跳到一个必败的位置 考虑最大的格子一定是必败 而每个格子只能跳到比自己大的格子 于是我们就可以倒序处理状态 对于每个格子枚举比自己大

IOS Swift 从入门到精通: For 循环, While 循环, 重复循环, 退出循环, 退出多重循环, 跳过项目, 无限循环

文章目录 For 循环While 循环重复循环退出循环退出多重循环跳过项目无限循环总结 For 循环 Swift 有几种编写循环的方法,但它们的底层机制是相同的:重复运行一些代码,直到条件计算为假。 Swift 中最常见的循环是一个for循环:它将循环遍历数组和范围,并且每次循环时它都会取出一个项目并分配给一个常量。 例如,这里有一个数字范围: let count = 1.

[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能

一、Qt的概述         Qt是一个跨平台的C++图形用户界面应用程序框架(GUI)。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。开发环境为Qt creator5.8.0,下载网址:http://download.qt.io/archive/qt/ 二、创建工程 1、准备工作 (1)点击工具中选项 (2)设置编

解决无限debugger总结

基本工具 1: Notepad(修改保存) + ReRes(插件替换) ReRes安装教程 2: Fidder + 编程猫 + hook 情况 fidder基本:fidder插件使用hook构造器, 例如下 //配合编程猫专用工具进行hook(function() {'use strict'//过瑞数 debugervar eval_ = window.eval;window.ev

uniapp 封装的插件集合 包括:无限级选择器,TAB滑动切换,圆形进度条,上拉加载动画,动画使用,通用弹窗等。

uniapp 封装的插件集合 包括:无限级选择器,TAB滑动切换,圆形进度条,上拉加载动画,动画使用,通用弹窗等。 作者:神夜 QQ:564379992 交流群:942832552 插件下载地址:https://gitee.com/sywlgzs/uniapp-componentsuniapp 插件集合大全: uniapp 封装的插件集合 包括:无限级选择器,TAB滑动切换,圆形进度条,上

【vue scrollTo 数据无限滚动 】

vue数据无限滚动 参考来源 Vue3 实现消息无限滚动的新思路 —— 林三心不学挖掘机 vue3代码 <template><div class="scroll-container" ref="scrollRef"><div v-for="(item, index) in list" :key="index" style="height: 40px; line-height: 40px;

COSMOSPANDA星际熊猫X 2024广州童博会|聚焦星潮,潮酷无限

中国国宝级原创潮玩IP COSMOSPANDA星际熊猫 震撼亮相2024广州童博会现场 聚焦星潮,潮酷无限 星际熊猫亮相展馆C位 3天展期、400㎡展位 超大型潮玩原创艺术装置 潮玩艺术,打造强烈视觉冲击 外贸中心周善青副主任代表中国第一展广交会前来巡馆 星际漫游董事长陈艳女士向其介绍星际漫游旗下IP矩阵 COSMOSPANDA星际熊猫、BUNB

【C++】递推动态规划基础入门

斐波那契 递归式斐波那契函数 long long fib(long long k){if(k==1||k==2) return 1;return fib(k-1)+fib(k-2);} 上述函数存在一定的问题,比如 f i b ( n ) = f i b ( n − 1 ) + f i b ( n − 2 ) , f i b ( n − 1 ) = f i b ( n − 2 ) + f

蚓链数字化营销系统,开启企业无限可能!

蚓链数字化营销系统带给企业的不仅仅是卖货方案,其重要的是让企业具备拥有融合资源的能力、实现在更多业态跨界赚钱的能力、及打造品牌价值的能力。   在当今数字化时代,蚓链数字化营销系统正为企业带来新的变革与机遇。它所赋予企业的,绝非仅仅局限于一套卖货方案。   蚓链数字化营销系统,乃是企业突破发展瓶颈、开启全新格局的关键。它能让企业拥有融合资源的强大能力,在激烈的市场竞争中,高效整合各方资源,可以