#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
#define MinLen 42.5
struct Point{
int x;
int y;
bool visited;
};
Point O;
int N,D;
vector<Point> s;
double Distance(Point a,Point b)
{
return sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2));
}
void Search(int index)
{
int j;
s[index].visited = true;
if((50-abs(s[index].x))<=D || (50-abs(s[index].y))<=D){
cout << "Yes" <<endl;
exit(0);
}
for(j=0;j<N;j++){
if(!s[j].visited&&Distance(s[index],s[j])<=D)
Search(j);
}
}
int main()
{
int i;
Point p;
vector<int> Firstjump;
cin>>N>>D;
for(i=0;i<N;i++){
cin>>p.x>>p.y;
p.visited = false;
s.push_back(p);
}
if(D>=MinLen){
cout<<"Yes"<<endl;
return 0;
}
for(i=0;i<N;i++){
if(Distance(s[i],O) <= (D+7.5))
Firstjump.push_back(i);
}
if(Firstjump.empty()){
cout<<"No"<<endl;
return 0;
}
for(i=0;i<Firstjump.size();i++)
Search(Firstjump[i]);
cout<<"No"<<endl;
return 0;
}
06-图2 Saving James Bond - Easy Version
最新推荐文章于 2021-11-25 09:45:36 发布