希望帮我想想算法,我在线等的
主要是判断什么条件入栈,什么条件出栈,什么条件退出循环或者怎么使用递归等等,谢谢大家了
#include <iostream>using namespace std;
int adjmatrix[6][6]={
{0,1,1,0,0,0},
{1,0,1,1,0,0},
{1,1,0,1,1,0},
{0,1,1,0,0,1},
{0,0,1,0,0,1},
{0,0,0,1,1,0},
};int x[6],used[6];
void dfs(int v)
{
if(x[v-1]==5){
printf(\"%d\",x[0]+1);
for(int i=1;i<v;i++){
printf(\" %d\",x[i]+1);
}
printf(\"\n\");
}
else {
for(int i=0;i<6;i++){
if(adjmatrix[x[v-1]][i]==1 && used[i]==0){
used[i]=1;
x[v]=i;
dfs(v+1);
used[i]=0;
}
}
}
}int main()
{
x[0]=0;
used[0]=1;
dfs(1);
system(\"pause\");
}