URAL 1294. Mars Satellites
2011-09-14 10:41
387 查看
好久没犯这么 2 的错误了,输出"Impossible."我输出的是“Impossible”。。。。。。。。。。。。。。。。。
双击单词复制的后果= = 。。笨蛋 xy 。。。
给的圆内俩共底三角形的四条边,求另一条边。根据高中数学知识,共弦的圆心角相等,所以用余弦定理即可。
注意判断不存在的情况,计算过程中很容易想到,分母不为0啦,开方的数不能小于0啦。。
还有,输入单位是K km。。。输出是 km。。
双击单词复制的后果= = 。。笨蛋 xy 。。。
给的圆内俩共底三角形的四条边,求另一条边。根据高中数学知识,共弦的圆心角相等,所以用余弦定理即可。
注意判断不存在的情况,计算过程中很容易想到,分母不为0啦,开方的数不能小于0啦。。
还有,输入单位是K km。。。输出是 km。。
#include <set> #include <map> #include <queue> #include <stack> #include <math.h> #include <stdio.h> #include <stdlib.h> #include <iostream> #include <limits.h> #include <string.h> #include <string> #include <algorithm> #define MID(x,y) ( ( x + y ) >> 1 ) #define L(x) ( x << 1 ) #define R(x) ( x << 1 | 1 ) #define FOR(i,s,t) for(int i=(s); i<(t); i++) #define BUG puts("here!!!") #define STOP system("pause") #define file_r(x) freopen(x, "r", stdin) #define file_w(x) freopen(x, "w", stdout) using namespace std; int main() { int a, b, c, d; while( ~scanf("%d%d%d%d", &a, &b, &c, &d) ) { if( a*b == c*d ) { puts("Impossible."); continue; } double x = (a*b*1ll*(c*c + d*d) - c*d*1ll*(a*a + b*b))/(a*b - c*d*1.0); if( x < -1e-8 ) { puts("Impossible."); continue; } printf("Distance is %.0lf km.\n", sqrt(x)*1000); } return 0; }
相关文章推荐
- 【数学】 URAL 1294 Mars Satellites
- URAL 1294. Mars Satellites 几何
- ural 1294 Mars Satellites
- Timus 1294 Mars Satellites
- timus 1294. Mars Satellites 余弦定理的应用
- URAL 1294
- 【HDU3294,URAL1294】manacher算法
- URAL 1294 Mars Satellites(圆内接三角形)
- URAL 1294. Mars Satellites(余弦定理 数学啊 )
- 【最近公共祖先】【线段树】URAL - 2109 - Tourism on Mars
- 【lca && 线段树】URAL - 2109 Tourism on Mars
- activity初步(mars)
- URAL 1905 Travel in Time BFS(广度搜索)
- URAL1901贪心
- URAL 1146 Maximum Sum(最大子矩阵的和 DP)
- URAL 1073 Square Country(DP)
- URAL 1992
- hdu 1800 Flying to the Mars(水 ,贪心)
- URAL 1933 Guns for Battle!
- URAL1001 - Reverse Root - 水题