Give you two circles and a rectangle, your task is to judge wheather the two circles can be put into the rectangle with no part of circles outside the retangle.
Input
There are multiple test cases. In every test cast, there are four float-point numbers:
a, b, r1, r2
where, a and b are two sides of the rectangle, r1 and r2 are radii of the two circls.
Output
Print a "Yes", if the circles can be put into the rectangle. Otherwise, print a "No".
You can safely assume x < y, where x and y are float-point numbers, if x < y + 0.01.
Sample Input
5 4 1 1
5 4 1.5 2
Sample Output
Yes
No
Author: CHEN, Gaoli
Source: ZOJ Monthly, May 2003
题意:问两个圆是否能放进一个长方形里
解题思路:两个圆对角放
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <vector>
#include <bitset>
using namespace std;
#define LL long long
const int INF=0x3f3f3f3f;
int main()
{
double a,b,r1,r2;
while(~scanf("%lf%lf%lf%lf",&a,&b,&r1,&r2))
{
double x=(a-r1-r2);
double y=(b-r1-r2);
if(x<0.01||y<0.01) {printf("No\n");continue;}
if(sqrt(x*x+y*y)+0.01>(r1+r2)) printf("Yes\n");
else printf("No\n");
}
return 0;
}