这个我还不是很熟,把笔记和草稿记录下来防止以忘记了
int path[100]={0}; //存储路径
int visited[100]={0}; //标记是否被访问
void DFS(int a[][20],int u,int n,int v,int k)
{
int i,j;
k++;
visited[u]=1;
path[k]=u;
if(u==v)
{
for(i=0;i<=k;i++)
cout<<path[i];
cout<<endl;
}
else
{
for(i=0;i<n;i++)
{
if(a[u][i]==1&&visited[i]==0)
{
DFS(a,i,n,v,k);
}
}
}
visited[u]=0;
}
void oj1070()
{
int a[20][20]={0};
int n,u,v;
cin>>n;
cin>>u>>v;
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
int k=-1;
DFS(a,u,n,v,k);
}