西工大数据结构极简解法--019基于图的深度优先搜索策略

题目描述

在这里插入图片描述

极简题解

#include<stdio.h>

int n,m,vertex[1005],start[1005],end[1005];
bool visit[1005],path[1000][1000];
bool flag=0;

void dfs(int tmp,int target)
{
	for(int i=1;i<=n;i++)
	{
		if(path[tmp][i]&&!visit[i])
		{
			visit[i]=1;
			if(i==target)
			{
				printf("yes\n");n=0;flag=1;
			}
			dfs(i,target);
		}
	}
}

int main() 
{
	int vi,vj;
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++)scanf("%d",&vertex[i]);
	for(int i=0;i<m;i++)
	{
		scanf("%d%d",&start[i],&end[i]);
		path[start[i]][end[i]]=1;
	}
	scanf("%d%d",&vi,&vj);
	dfs(vi,vj);
	if(flag==0)printf("no");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45619006/article/details/107292756