牛客小白月赛6 B 范围 数学
链接:https://www.nowcoder.com/acm/contest/135/B
来源:牛客网
题目描述
已知与
均为实数,且满足:
给定A,B,求x的取值范围?
由于Apojacsleam的计算几何往往被精度卡飞,所以他痛恨精度错误,于是给定的A,B都是正整数。
请注意:题目中给的
指的是仅为某些可以取任何值的变量名,与x没有任何关系。
输入描述:
输入数据共一行,两个正整数A,B,意义如“题目描述”。
输出描述:
输出一行描述答案:
若有解,输出多个实数(至少两个),从小到大输出,保留两位小数,表示X的取值范围的端点,无解输出”No Answer.”(不含引号)
注:如果端点有两个,以下四种情况的答案都是L,R:
。
请注意,如果L=R,则需要输出两次
示例1
说明
分析:
附带柯西不等式:
参考博客:https://blog.csdn.net/haut_ykc/article/details/81366113
AC代码:
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#define ls (r<<1)
#define rs (r<<1|1)
#define debug(a) cout << #a << " " << a << endl
using namespace std;
typedef long long ll;
const ll maxn = 1e6+10;
const double eps = 1e-8;
const ll mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;
const double pi = acos(-1.0);
int main() {
ios::sync_with_stdio(0);
double a, b;
cin >> a >> b;
double t = sqrt(2.0*b-a*a);
printf("%.2lf %.2lf\n",a/2-t/2,a/2+t/2);
return 0;
}
彼时当年少,莫负好时光。
浙公网安备 33010602011771号