要注意的坑点是不用每条路走到底,A走到B就行了。
不过我最后一个样例没过,超时了,不是AC~(悲
代码:
def dfs(i,k):
global count
# 到k后返回
if i==k:
count+=1
return True
# 如果没路了说明这条路到不了k
if sum(li[i])==0:return False
# 迭代
bool=True
for j in range(1,n+1):
if li[i][j]!=0:
bool&=dfs(j,k)
return bool
if __name__=='__main__':
n,m=map(int,input().split())
# 关系
li=[[0 for i in range(n+1)]for j in range(n+1)]
for i in range(m):
a,b=map(int,input().split())
li[a][b]=1
# 判断
count=0
i,j=map(int,input().split())
if dfs(i,j):
print(count,end=" ")
print('Yes')
else:
print(count, end=" ")
print('No')