题目大意:

两题几何水题。

1.UVA 11646 - Athletics Track

如图,体育场的跑道一圈400米,其中弯道是两段半径相同的圆弧,已知矩形的长宽比例为a:b,求长和宽的具体数值。

2.UVA 11817 - Tunnelling the Earth

给出地球上起点和终点(均用度数的经纬度表示),从起点出发,可以沿着球面最短路径走。也可以钻隧道,走直线。求这两种方法的路程差。

题解:

1、UVA 11646 - Athletics Track

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2693

直接推到一下公式,我是画个对角线,求个角度。。。。挺简单的。

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std; int main()
{
double a,b;
int kase=1;
char temp[5];
while(~scanf("%lf%s%lf",&a,temp,&b))
{
double g=atan2(b,a);
double r=b/2/sin(g);
double k=400/(2*a+4*g*r);
printf("Case %d: ",kase++);
printf("%.10lf %.10lf\n",k*a,k*b);
}
return 0;
}

2.UVA 11817 - Tunnelling the Earth

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2917

题目给出的是度数,要先化成弧度。

然后,求出坐标即可。

吐槽:百度了下经纬度。。。。然后已知经纬度求坐标好像高数里面的三重积分的球面坐标- -|||

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const double r=6371009;
const double pi=acos(-1.0);
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
double a,b;
double x1,y1,z1,x2,y2,z2;
scanf("%lf%lf",&a,&b);
a=a*pi/180;
b=b*pi/180;//把经度纬度换算成弧度
x1=r*cos(a)*cos(b);
y1=r*cos(a)*sin(b);
z1=r*sin(a);
scanf("%lf%lf",&a,&b);
a=a*pi/180;
b=b*pi/180;
x2=r*cos(a)*cos(b);
y2=r*cos(a)*sin(b);
z2=r*sin(a);
double len1=sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) +(z1-z2)*(z1-z2));
double angle=2*asin(len1/2/r);
double len2=angle*r;
printf("%.0lf\n",len2-len1);
}
return 0;
}

UVA 11646 - Athletics Track || UVA 11817 - Tunnelling the Earth 几何的更多相关文章

  1. 简单几何(推公式) UVA 11646 Athletics Track

    题目传送门 题意:给了长宽比例,操场一圈400米,问原来长宽的长度 分析:推出公式 /************************************************ * Author ...

  2. uva 11646 - Athletics Track

    题意:如图,体育场的跑道一圈是400米,其中弯道是两段半径相同的圆弧.已知矩形的长宽比例为a:b,求长和宽的具体数值. 注意:圆弧的圆心在纵轴线上! #include<iostream> ...

  3. 纯几何题 --- UVA - 11646 Athletics Track

    这一题题目有点坑,注意这句话: 这代表了其圆心就是矩形的中心! 然后就可以推公式: 可知: x = 200/(a+2atan(b/c)*r); r = sqrt(a*a + b*b); 所以有AC代码 ...

  4. UVA 11817 Tunnelling the Earth --球面距离公式

    题意: 给出两点的经纬度,求两点的球面距离与直线距离之差. 解法: 我们先算出球面距离,然后可以根据球面距离算出直线距离. 球面距离公式: R*acos(sin(W1)*sin(W2)+cos(W1) ...

  5. uva 11817 - Tunnelling the Earth

    题意:从地球上的一个点到另一个点,求两点的球面距离和直线距离之差.假定地球是正球体,半径为6371009米. #include<iostream> #include<cmath> ...

  6. UVa 10192 - Vacation &amp; UVa 10066 The Twin Towers ( LCS 最长公共子串)

    链接:UVa 10192 题意:给定两个字符串.求最长公共子串的长度 思路:这个是最长公共子串的直接应用 #include<stdio.h> #include<string.h> ...

  7. UVA Open Credit System Uva 11078

    题目大意:给长度N的A1.....An 求(Ai-Aj)MAX 枚举n^2 其实动态维护最大值就好了 #include<iostream> #include<cstdio> u ...

  8. uva 540 (Team Queue UVA - 540)

    又是一道比较复杂的模拟题.题中有两种队列,一种是总队列,从前向后.其他的是各个团体的小队列,因为入队的人如果有队友的话,会优先进入团体队列. 所以我们先设置两个队列和一个map,设置map倒是可以不用 ...

  9. uva 202(Repeating Decimals UVA - 202)

    题目大意 计算循环小数的位数,并且按照格式输出 怎么做 一句话攻略算法核心在于a=a%b*10,用第一个数组记录被除数然后用第二个数组来记录a/b的位数.然后用第三个数组记录每一个被除数出现的位置好去 ...

随机推荐

  1. Linux学习总结(8)——VMware v12.1.1 专业版以及永久密钥

    VMware v12.1.1 专业版以及永久密钥 热门虚拟机软件VMware Workstation 现已更新至v12.1.1 专业版!12.0属于大型更新,专门为Win10的安装和使用做了优化,支持 ...

  2. ArcGIS engine中Display类库 (局部刷新)

    转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库 ...

  3. 【剑指offer】Q25:二叉树中和为某一值的路径

    说明:最烦的就是看别人的博客,题解里直接上代码,一行分析都没有.只是这个题... class BTNode(): def __init__(self, val = -1): self.val = va ...

  4. 73.node.js开发错误——TypeError: Cannot set property 'XXX' of undefined

    转自:https://blog.csdn.net/fd214333890/article/details/53467429

  5. Spark Tachyon的命令行使用

    Tachyon命令行使用 Tachyon接口说明 接口操作示例 copyFromLocal copyToLocal ls和lsr count cat mkdir.rm.rmr和touch pin和un ...

  6. VS Code 关于SFTP上传文件到多服务器的配置

    工欲善其事,必先利其器! 刚学前端的时候一直用的DW来编写代码,其功能非常强大,但在Linux下不能用,所以就转VS Code了. 但是刚开始使用VS Code的时候,很多DW上的功能需要自己安装扩展 ...

  7. 【DRF分页】

    目录 第一种 PageNumberPagination 查第n页,每页显示n条数据 第二种 LimitOffsetPagination 在第n个位置,向后查n条数据 第三种 CursorPaginat ...

  8. halt---关闭正在运行的Linux操作系统。

    halt命令用来关闭正在运行的Linux操作系统.halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统. 语法 halt(选项) 选 ...

  9. 洛谷——P2678 跳石头

    https://www.luogu.org/problem/show?pid=2678#sub 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着 ...

  10. Linux网络编程--字节序

    1 .谈到字节序,那么会有朋友问什么是字节序 非常easy:[比如一个16位的整数.由2个字节组成,8位为一字节,有的系统会将高字节放在内存低的地址上,有的则将低字节放在内存高的地址上,所以存在字节序 ...