几何+思维 Samara University ACM ICPC 2016-2017 Quarterfinal Qualification Contest K. Revenge of the Dragon

题目链接:http://codeforces.com/gym/101149/problem/K

题目大意:

给你两个点a,b。一个人在a点,一个人在b点,b点的人要追杀a的点,他的跑步速度是a的两倍。如果a点的人能在b点追击到之前回到a点这个位置,那么这个人就是安全的(b点的人追击a点的人的追击方案是:一直朝着a点的人所在的位置奔跑过去)。问,这个人的安全区域是多少?

思路:几何果然不会= =,连sb题都没想到

因为是面积,所以说两点之间的距离就决定了最后的结果。因为题目给出的是单位面积。所以对于任意给出的两点,我们只需要让这个单位面积*两点距离的平方即可。

//看看会不会爆int!数组会不会少了一维!
//取物问题一定要小心先手胜利的条件
#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker,"/STACK:102400000,102400000")
#define LL long long
#define ALL(a) a.begin(), a.end()
#define pb push_back
#define mk make_pair
#define fi first
#define se second
#define haha printf("haha
")
double tmp = 0.916297857297023;
int a, b, c, d;

int main(){
    cin >> a >> b >> c >> d;
    a = a - c, b = b - d;
    printf("%.10f
", 1.0 * (a * a + b * b) * tmp);
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/heimao5027/p/6820237.html