HDOJ HDU 2080 夹角有多大II ACM 2080 IN HDU
题目地址:
http://acm.hdu.edu.cn/showproblem.php?pid=2080
题目描述:
这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小。
注:夹角的范围[0,180],两个点不会在圆心出现。
Input
输入数据的第一行是一个数据T,表示有T组数据。
每组数据有四个实数x1,y1,x2,y2分别表示两个点的坐标,这些实数的范围是[-10000,10000]。
Output
对于每组输入数据,输出夹角的大小精确到小数点后两位。
Sample Input
2
1 1 2 2
1 1 1 0
Sample Output
0.00
45.00
题目分析:
纯数学题. 有多边型面积公式, 我们可以得到 三角型的面积 : S = ( x0 * y1 - x1 * y0 ) / 2.
而由三角型正弦定理我们知道 : S = 1 / 2 * A * B * sinV . 联立 2方程就可以得到 夹角V 的解
的方程 : sinV = ( x0 * y1 - x1 * y0 ) / A / B ; 最后利用 c 数学库函数 asin就可以求出V的弧
度值, 把弧度转换成角度就可以了. ( 注意平角和钝角的判断 )
代码如下 :
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main ()
{
int T;
cin >> T;
while ( T -- )
{
double x0,x1,y0,y1;
cin >> x0 >> y0 >> x1 >> y1;
double A = sqrt ( x0 * x0 * 1.0 + y0 * y0 * 1.0 );
double B = sqrt ( x1 * x1 * 1.0 + y1 * y1 * 1.0 );
double resin = ( fabs ( x0 * y1 - x1 * y0 ) ) / A / B ;
double res = asin ( resin ) * 180.0 / acos( -1 );
res = res < 1e-5 ? ( x0 * x1 < 0 ? 180.0 : 0.0 ) //平角
: ( x0 * x1 <= 0 && y0 * y1 <= 0 ? 180.0 - res : res ); //是否钝角
cout << setprecision (2) << setiosflags ( ios::fixed ) << res << endl;
}
return 0;
}
转载于:https://www.cnblogs.com/MiYu/archive/2010/08/18/1802460.html
HDOJ HDU 2080 夹角有多大II ACM 2080 IN HDU相关推荐
- HDU 2080 夹角有多大II
夹角有多大II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- HDU2080 夹角有多大II【数学】
夹角有多大II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDU2080 夹角有多大II
夹角有多大II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- HDOJ 1253 HDU 1253 胜利大逃亡 ACM 1253 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1253 题目描述: ...
- HDU 2076 夹角有多大(题目已修改,注意读题)
Problem Description 时间过的好快,一个学期就这么的过去了,xhd在傻傻的看着表,出于对数据的渴望,突然他想知道这个表的时针和分针的夹角是多少.现在xhd知道的只有时间,请你帮他算出 ...
- HDOJ 2199 HDU 2199 Can you solve this equation? ACM 2199 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2199 ...
- HDOJ 1157 HDU 1157 Who's in the Middle ACM 1157 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1157 题目描述: ...
- HDU题目分类大全【大集合】
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.105 ...
- HDU2076 夹角有多大
夹角有多大(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
最新文章
- hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等...
- 重新初始化k8s master节点
- python api是什么_python – 如何处理API响应
- SQL-22 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no、部门名称dept_name以及次数sum...
- 深入理解mysql百度网_深入理解mysql
- iText生成pdf详解
- kafka 重新分配节点_你可能需要的Kafka面试题与部分答案整理
- java俄罗斯方块说明书_俄罗斯方块java代码(java编写俄罗斯方块代码详解)
- linux 番茄时间,Linux下自制简易番茄钟
- Diamond软件的使用(5)--建立Modelsim仿真环境
- MPU6050姿态解算——Mahony互补滤波
- java程序员面试自我介绍范文
- C++编译遇到未定义的引用undefined reference to ‘_imp__ZN7CStringD1Ev‘
- 微信小程序授权订阅消息判断用户取消或允许
- php授权微信自动扣款,【微信支付】微信代扣开发者文档
- 菏泽一中2021级高考成绩查询入口,2021年菏泽中考各学校录取分数线,历年菏泽中考分数线汇总...
- C语言训练-3426-小金追呀追不上妹子
- 当技术为组织所累时怎么办?将你的组织架构旋转90度!
- c语言中用户验证程序,C语言用户登录系统账户密码比对
- 【初等概率论】 02
热门文章
- 给别人电脑永远设置个别人删不掉的管理员用户
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响...
- s7-200与计算机modbus通讯案例,西门子200MODBUS通讯案例.doc
- 增加自增列 耗时长_又一批长事务,P0故障谁来背锅?
- 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器
- 递归式求时间复杂度的代入法与迭代法的举例讲解
- html底部沉底显示,Footer部分永远沉底。
- 解决Moodle日历乱码的最佳方案
- 这样是不是就可以预测语音长度和内容了
- python将视频转为多个gif