HDU2080 夹角有多大II

夹角有多大II

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 7676    Accepted Submission(s): 3858

Problem Description

这次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

余弦公式:c^2 = a^2 + b^2 - 2abcosy;

#include <stdio.h>
#include <string.h>
#include <math.h>

const double PI = acos(-1.0);

int main() {
	// freopen("stdin.txt", "r", stdin);
	double x1, y1, x2, y2, a, b, c, y;
	int T;
	scanf("%d", &T);
	while (T--) {
		scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
		a = x1 * x1 + y1 * y1;
		b = x2 * x2 + y2 * y2;
		c = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
		printf("%.2lf\n", acos((a + b - c) / (2 * sqrt(a * b))) * 180.0 / PI);
	}
	return 0;
}
时间: 2024-10-11 18:11:45

HDU2080 夹角有多大II的相关文章

夹角有多大II

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8129    Accepted Submission(s): 4097 Problem Description 这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小. 注:夹角的范围[0,180],两个点不会在圆心出现. Input 输入数据的第一行是

HDU 2080 夹角有多大II

简单题,不解释,不过,貌似我现在也就能做做简单的数学题了. #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> const double pi=acos(-1.0); using namespace std; void f(double &angle,double x,double y) { if(x<0&&y<0) angle+=1

HDU2080 夹角有多大2

2019-05-17 15:00:09 加油加油,fightting !!! 这道题不知道acos()函数,acos()返回的是弧度,转化成度数要 / PI * 180 也没有想到通过向量 但是想到了余弦定理 这道题与改革春分有一点点的联系,向量 #include <bits/stdc++.h> #include <math.h> using namespace std; #define PI 3.1415926 int main() { int t; int i,j; scanf

HDU2076 夹角有多大(题目已修改,注意读题)【水题】【计算几何】

夹角有多大(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10194    Accepted Submission(s): 4072 Problem Description 时间过的好快,一个学期就这么的过去了,xhd在傻傻的看着表,出于对数据的渴望,突然他想知道这个表的时针和分针的夹角是多少.现在xhd知道的

hdu 2076 夹角有多大

#include <iostream> #include <cstdio> #include <cmath> using namespace std; int main() { int t,h,m,s; cin>>t; while(t--) { cin>>h>>m>>s; if(h>12) //注意还有h>24的时候 h-=12; double ans=fabs((h*30+0.5*m+0.5/60*s)-(m

hdu 2076 夹角有多大(题目已修改,注意读题)

http://acm.hdu.edu.cn/showproblem.php?pid=2076 数学题...公式推出来就可以AC了. 思路:分别求出时针和分针与12点的位置的夹角大小,输出夹角的差值,注意取小于180度的角. 代码如下: #include<stdio.h> int main() { int t; double h,m,s,angle1,angle2,angle; while(scanf("%d",&t)!=EOF) { while(t--) { sca

【ACM】----杭电oj 2080

夹角有多大II Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7888    Accepted Submission(s): 3971 Problem Description 这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小. 注:夹角的范围[0,180],两个点不会在圆心出现. Input 输

hdoj:2080

夹角有多大II Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10656    Accepted Submission(s): 5510 Problem Description 这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小. 注:夹角的范围[0,180],两个点不会在圆心出现. Input 输

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY