06-图2 Saving James Bond - Easy Version (25 分)

06-图2 Saving James Bond - Easy Version (25 分)_第1张图片

06-图2 Saving James Bond - Easy Version (25 分)_第2张图片

#include
int const maxn=110;
int N, D, answer=0;
int visit[maxn];
struct point{
	int x, y;
}arr[maxn]; //三种结点 原点、鳄鱼、岸边
int Jump(int v, int i){
	int flag;
	int a=arr[i].x-arr[v].x, b=arr[i].y-arr[v].y;
	int c=D*D;
	a=a*a; b=b*b;
	if(a+b<=c)flag=1;
	else flag=0;
	return flag; 
}
int IsSafe(int v){//是否能够到达岸边
	int a=arr[v].x, b=arr[v].y;
	if(a<0)a=-a;
	if(b<0) b=-b;
	if(a+D>=50||b+D>=50)return 1;
	else return 0;
}
void DFS(int v){
	visit[v]=1;
	if(IsSafe(v))answer=1;
	else{
		for(int i=0; i

 

你可能感兴趣的:(陈越,何钦铭数据结构2018秋)