问题遇到的现象和发生背景
自己的代码写出来了,但是运行的结果是错的,我反复看死活看不出哪里错的
题目具体是这个
问题相关代码,请勿粘贴截图
#include <iostream>
using namespace std;
#define mvnum 100
typedef struct arcnode{
int adjvex;
struct arcnode *nextarc;
}arcnode;
typedef struct vnode{
int data;
struct arcnode* firstarc;
}vnode,adjlist[mvnum];
typedef struct{
adjlist vertices;
int vexnum,arcnum;
}algraph;
int visited[mvnum];
int level =1;
void create(algraph &g)
{cin>>g.vexnum>>g.arcnum;
int i,j,k,m;
for(i=1;i<=g.vexnum;++i)
{cin>>g.vertices[i].data;
g.vertices[i].firstarc=NULL;}
for(k=1;k<=g.arcnum;k++)
{
cin>>m>>j;
arcnode *p;
p=new arcnode;
p->adjvex=j;
p->nextarc =g.vertices[m].firstarc;
g.vertices[m].firstarc=p;
}
}
bool exist_path(algraph G,int i,int j)
{ int k;
arcnode *p;
if(i==j) return 1;
else
{
visited[i]=1;
for(p=G.vertices[i].firstarc;p;p=p->nextarc,level--)
{ level++;
k=p->adjvex;
if(!visited[k]&&exist_path(G,k,j)) return true;
}
}
if (level==1) return false;
}
int main(){
algraph g;
int i,j;
create(g);
cin>>i>>j;
cout<<exist_path(g,i,j);
return 0;
}
运行结果及报错内容
我想要达到的结
存在路径输出1,不存在输出0