思想:
首先以乙個未被訪問過的頂點作為開始頂點,沿當前頂點的邊走到未訪問過的頂點;當沒有未訪問過的頂點時,則回溯到上乙個頂點,繼續試探訪問別的頂點,直到所有的頂點都被訪問過。
完整**:
#includeint a[10],book[10],n;
void dfs(int step)
for(i = 1;i <= n;i ++) }
return;
}int main()
思想:
首先以乙個未被訪問過的頂點作為起始頂點,訪問其所有相鄰的頂點,然後對每個相鄰的頂點,再訪問它們相鄰的未被訪問過的頂點,直到所有頂點都被訪問過。
完整**:
#includestruct note
;int main()
,book[51][51]=;
int next[4][2]=;
int head,tail;
int i,j,k,n,m,sx,sy,ex,ey,tx,ty,flag;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
scanf("%d%d%d%d",&sx,&sy,&ex,&ey);
head=1; tail=1;//佇列初始化
que[tail].x=sx;
que[tail].y=sy;
que[tail].s=0;
tail++;
book[sx][sy]=1;
flag=0;
while(headn||ty<1||ty>m)
continue;
if(a[tx][ty]==0&&book[tx][ty]==0)
if(tx==ex&&ty==ey)
}if(flag==1)
break;
head++;
} printf("%d",que[tail-1].s);//tail指向佇列隊尾的下乙個位置,所以需要-1.
return 0;
}
DFS BFS搜尋 題目
這篇博主寫的是圖的深搜 圖的dfs附 圖的深度優先遍歷 出處 一條魚 2011 12 26 include include struct node 圖頂點結構定義 typedef struct node graph 圖形的結構新型態 struct node head 9 圖形頂點陣列 int vis...
DFS BFS 搜尋訓練
hdu 1016 include include include using namespace std int prime 40 vis 40 num 40 n void checkprime void dfs int i for int c 2 c n c int main return 0 p...
DFS BFS 搜尋基礎
首先深搜 先看輸入格式 5 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 第一行輸入乙個數n,接下來輸入n n的數字矩陣,0代表房間,1代表牆,每個位置都可以往上下左右四個方向走 題意非常簡單,就是求以左上角為出發點所能到達的最多的房間數。inc...