问题描述:
reo 开始涉猎几何领域了。他现在正在研究小马喝水问题。
众所周知,这个问题中有一匹口渴的小马,一条笔直的河,以及小马的家。小马需要去河边喝水,然后再去家里。它需要走最短的路径。

解决这个问题也很简单,其中有一个步骤是要做小马家关于河水的对称点。

reo 正对此感到一些烦恼。他不会做这个。他想请你帮他作一条过小马家且垂直于河水的线,然后告诉 reo 垂足的位置。

思路:
直线uv斜率 a = (uy-vy)/(ux-vx)
直线uv为 y = a(x-ux)+uy
直线xp为 y = -(x-px)/a+py
联立就可以计算出x的坐标了。

代码:

#include <cstdio>
#include <cstring>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <cmath>
#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
const double N = 1e6+10;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int MOD = 1000000007;
const inline int read(){int k = 0, f = 1; char c = getchar();for(;!isdigit(c); c = getchar())if(c == '-') f = -1;for(;isdigit(c); c = getchar())k = k * 10 + c - '0';return k * f;
}
#define ll long long
#define CL(a,b) memset(a,b,sizeof(a))
#define MAXN 100010
int a[MAXN];
int main()
{int t;cin >>t;while(t--) {double px,py,ux,uy,vx,vy;cin >> px >> py >> ux >> uy >> vx >> vy;if(ux == vx) printf("%.7lf %.7lf\n",ux,py);else if(uy == vy) printf("%.7lf %.7lf\n",px,uy);else{double a = (uy-vy)/(ux-vx);double x = (px+a*py+a*a*ux-a*uy)/(a*a+1);double y = py + (px - x) / a;printf("%.7lf %.7lf\n",x,y);}}return 0;
}

小马过河(计算几何)相关推荐

  1. .NET框架之“小马过河”

    .NET框架之"小马过河" 有许多流行的 .NET框架,大家都觉得挺"重",认为很麻烦,重量级,不如其它"轻量级"框架,从而不愿意使用.面对 ...

  2. PonyAI进军自动驾驶货运,乘用无人车历史性“小马过河”

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 如何评价小马智行正式进军无人驾驶货运? 在上海车展现场,PonyAI的两位创始人彭军楼天城,带来了这项重要的创业新进展. 彭军说,内部一支 ...

  3. 牛客小白月赛2 B.小马过河

    牛客小白月赛2 B.小马过河 题目链接 题目描述 E t e ˊ r e o \mathrm{Et\acute{e}reo} Eteˊreo 开始涉猎几何领域了.他现在正在研究小马喝水问题. 众所周知 ...

  4. 我像“小马过河”一样升级了我的开源系统

    爆肝5千字实践出来的干货经验,希望对大家有帮助. 前言 我在升级之前做了比较充分的准备工作,深入研究了GoFrame V2新特性才决定升级的,并且总结了一篇文章:# 站在开发者的角度理解框架的设计思想 ...

  5. JavaScript的for循环语句练习之解决小马过河的问题

    JavaScript的for循环语句练习之解决小马过河的问题 上篇文章我们说了怎么计算数学问题鸡兔同笼,这边文章咱们来说一下稍微再加大写难度的问题,小马过河.问题是现在有一群马,大马可以驮2石粮食,中 ...

  6. 【连载】小马过河 —— Angular 学起来难吗?

    Angular 学起来难吗? 答案是:不知道.准确的说应该是 "因人而异".我曾经说过:任何卖包治百病的大力丸的都是骗子,任何逢人就说一项技术很简单的也是骗子 -- 你连对方的技术 ...

  7. 第十三届蓝桥杯省赛真题2022年4月23日 第四题答案及解析 小马过河搬货物方案

    第四题 又又如约而至,上题目: 编程实现: 小马需要将N件物品从河的一岸搬运到河的另一岸,每次搬运的物品为1到3件.请问小马将N件物品全部搬运过去有多少种方案.例如:N=3,将3件物品全部搬运过去有4 ...

  8. 百鬼夜行第一章:小马过河

    暂时还没想好写什么,就直接把总结的一些东西从笔记里面复制过来吧,有错误的地方还望指正. 先说下我对STL的理解,STL简单点说就是对复杂数据结构的包装,省去了一些造轮子的功夫,有句话说的不错,不仅有造 ...

  9. 牛客小白月赛2-B小马过河(求点到直线的垂足)

    题目链接 求点到直线的垂足分为 空间 .平面 原理: 空间: #include<iostream> #include<cmath> using namespace std; c ...

  10. 初入社会——小马过河。

    一直都想动手写博客,走入互联网的大门. 今天算是踏出第一步吧. 互联网日新月异的变化,也代表着更多的机会. 从写博客开始,积累自己的知识和能力.专科的学历,今年六月领的毕业证.匆匆的大学生活很快就结束 ...

最新文章

  1. 从无到有算法养成篇-算法基础常识
  2. java执行命令行命令
  3. redmine一键安装
  4. 赚钱就是一个合作的过程,合作的过程,也是扯淡的过程
  5. java用正则表达式大全_Java 正则表达式 大全
  6. Linux搭建可道云网盘
  7. html css 内联样式_内联CSS指南–如何直接设置HTML标签的样式
  8. DNS 智能解析功能评测之华为云篇~
  9. jike1901666
  10. c语言运行的快捷键是什么,c语言执行命令快捷键是什么??
  11. vue3+TypeScript实现导出Excel功能
  12. Redis知识总结(四万字)
  13. VB实现移动鼠标产生粒子效果
  14. 深度学习的几何观点:1流形分布定律、2学习能力的上限。附顾险峰教授简历(长文慎入,公号回复“深度学习流形分布”可下载PDF资料)
  15. 自然语言处理在电商的技术实践
  16. 织梦PHP版本怎么更新,织梦DedeCMS系统如何打补丁升级
  17. DirectX简介 第四篇 DirectPlay简介
  18. java签到功能的实现_java实现的签到系统
  19. Android Custom
  20. promise解决回调地狱的问题

热门文章

  1. 转换句子的首字母为大小写(Jaden Casing Strings)
  2. C ++程序将字符串的每个单词的首字母转换为大写,将其他转换为小写
  3. 《程序员的职业素养》读书笔记万字总结【建议收藏】
  4. Centos 7/8 root密码重置
  5. waterfall 上拉加载 下拉刷新
  6. PIX中Conduit命令用法
  7. Leetcode 500:键盘行
  8. 分裂基 c语言算法,分裂基快速傅里叶变换 - osc_v8jmwk6w的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 关于go module
  10. vue实现搜索框记录搜索历史_vue项目搜索历史功能的实现