7-10 Saving James Bond - Easy Version (25 分)
这个题主要是审好题目。
下面有两种方法:
一、先将是不是有边,是否与岸有连接算出来
步骤:
1、读入数据,计算输入点是不是可以到岸。
2、对权值初始化,计算各点之间是不是有线。
3、一次DFS搜索,看看是不是能从中心到岸边。
#include <iostream>
#include <cmath>
using namespace std;
int book[101]; //是否访问
int flag = 0;
int Flee[101]; //是否可以逃跑
const int INFO = 100000;
void DFS(int i,int G[][101],int Nv){
book[i] = 1;
if(Flee[i] == 1) flag = 1;
for(int j = 0;j <= Nv;j++){
//注意一共Nv+1个点
if(!book[j] && G[i][j] == 1){
DFS(j,G,Nv);
}
}
}
int main(){
int x,y;
int Nv; //顶点数
int X[101],Y[101]; //顶点坐标
int Dist; //跳的最远距离
int G[101][101]; //是否有边
X[0] = Y[0] = 50;
scanf("%d%d",&Nv,&Dist);
for(int i = 1;i <= Nv;i++){
//读入X,Y并计算能不能从哪里逃出
scanf("%d%d",