news 2026/9/3 0:24:16

打卡信奥刷题(2525)用C++实现信奥 P2013 无线电测向

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2525)用C++实现信奥 P2013 无线电测向

P2013 无线电测向

题目描述

有天线定位装置的船能通过接收当地灯塔信号来确定自己的位置。每个灯塔固定在已知点上并发出特有的信号。当船检测到信号,它可通过旋转天线直到信号达到最大强度。这样就可确定自身与该灯塔的位置关系。只要接收到两个灯塔的信息,就有可能确定船当前的位置。

编程任务:通过一对灯塔信息来确定船的位置。

灯塔和船的位置被确定在一个直角坐标系内。xxx轴正向指向东,yyy轴正向指向北。船的航行路线从正北开始按顺时针用度表示。北是0∘0^\circ0,东是90∘90^\circ90,南是180∘180^\circ180,西是270∘270^\circ270。灯塔与船的位置关系用相对于船的航行方向顺时针用度表示。

输入格式

文件的第一行是一个整数,表示灯塔的数目NNN。以下NNN行,每行表示一个灯塔,为灯塔名称,xxx坐标和yyy坐标。它们都用空格隔开。

灯塔信息下面是船的信息包括三行,一行是船的方向,其余两行是所接收到的灯塔信号。

具体如下:

输入数据数据的含义
方向船的航行方向
名称111,角度111第一个灯塔信息的名称,灯塔的方位
名称222,角度222第二个灯塔信息的名称,灯塔的方位

灯塔的方位为船与灯塔所在的直线与船的航行方向的夹角(从船的航行方向开始顺时针)。222个数据用空格隔开。

输出格式

输出船的位置(精确到222位小数)。如果无法确定船的位置,应输出NO ANSWER(不能使用小写)。

输入输出样例 #1

输入 #1

5 a 1 5 b 1 1000 c 2 4 d 51 60 e 153 79 30 e 160 d 210

输出 #1

160.83 123.41

说明/提示

对于100%100 \%100%的数据,1≤N≤301 \le N \le 301N30,灯塔名称是202020个以下的字母。

C++实现

#include<bits/stdc++.h>#definepiipair<int,int>usingnamespacestd;constdoublepi=3.1415926535;// 建议选取较高精度intn;map<string,pii>mp;intmain(){cin>>n;for(inti=1;i<=n;++i){intx,y;string name;cin>>name>>x>>y;mp.insert(make_pair(name,make_pair(x,y)));}string s1,s2;doubleangleShip,angle1,angle2;cin>>angleShip;angleShip=90-angleShip;// 转化为与 x 轴的夹角cin>>s1>>angle1;cin>>s2>>angle2;doublex1=mp[s1].first,y1=mp[s1].second;doublex2=mp[s2].first,y2=mp[s2].second;angle1=1.0*(angleShip-angle1)*pi/180;// x 轴夹角转换与弧度制转换angle2=1.0*(angleShip-angle2)*pi/180;if(angle1==angle2){// 判断夹角cout<<"NO ANSWER";return0;}doublek1=tan(angle1),k2=tan(angle2);// 计算斜率,传参弧度制doublex=(y2-y1-k2*x2+k1*x1)/(k1-k2);// 套上述结论doubley=k1*(x-x1)+y1;printf("%.2lf %.2lf",x,y);// 保留两位小数return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 10:39:16

Windows系统文件scrptadm.dll丢失损坏 无法运行软件 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/9/2 19:53:26

开源鸿蒙跨平台开发训练营--AtomGit(GitCode)口袋工具(七)

我们继续接着上一章的内容&#xff0c;完成文件内容的显示。显示文件内容1. 调整侧边栏内容上一章&#xff0c;我们侧边栏只显示了根目录下的文件和文件夹。这一张我们要将其显示成一个可折叠和展开的文件树。目的是为了可以让用户在侧边栏中切换想要查看的文件。GitCodeCodeRe…

作者头像 李华
网站建设 2026/9/3 4:28:14

【鸿蒙开发案例篇】基于MindSpore Lite的端侧人物图像分割案例

大家好&#xff0c;我是 V 哥。今天的内容咱们来详细介绍鸿蒙开发中&#xff0c;如何使用MindSpore Lite在鸿蒙系统上实现端侧人物图像分割功能&#xff0c;以及提供完整的实现方案。 联系V哥获取 鸿蒙学习资料 系统架构设计 技术栈与组件关系 #mermaid-svg-kKMHq6sLNO6nbkY…

作者头像 李华
网站建设 2026/9/2 23:12:45

程序员应该熟悉的概念(6)Fine-tuning和RAG

大语言模型/LLM 通常是由海量通用知识&#xff08;如语法、常识、逻辑&#xff09;训练的&#xff0c;在面对具体场景&#xff08;如医疗问诊、法律文书生成&#xff09;时&#xff0c;能力往往不足。 Fine-tuning/微调 正是为解决这一问题而生的核心技术&#xff0c;其本质是在…

作者头像 李华
网站建设 2026/9/2 23:13:27

7、电子元件与树莓派开发入门

电子元件与树莓派开发入门 1. 常见电子元件介绍 二极管(Diodes) :电阻会双向阻止电流流动,而二极管是一种双端电子元件,具有单向低电阻、反向高电阻的特性。二极管大多由硅制成,发光二极管(LED)是电子电路中最常用的二极管,当在其阳极和阴极提供足够电压时会发光。…

作者头像 李华
网站建设 2026/9/2 23:13:28

数据不丢失 + SEO 保障!LTD 营销枢纽破解外贸建站核心痛点

为什么选择LTD营销枢纽&#xff1f;很多企业担心SaaS建站“停止续费就丢站”&#xff0c;但LTD营销枢纽提供“数据备份自由”——你可随时导出网站所有数据&#xff08;包括客户信息、内容素材、订单记录&#xff09;&#xff0c;即使后续选择其他方案&#xff0c;核心资源也不…

作者头像 李华