算法参考:http://blog.youkuaiyun.com/xw13106209/article/details/6538634
def findcircle(G):
"""
color = 0 hasn't been visited
color = -1 be visited once
color = 1 has been dfs, all children of the spot has been visited
"""
def dfs(G,i,color,is_DAG):
if is_DAG == 0:
pass
else:
r = len(G)
color[i] = -1 #spot i has been visited
#print 'color:',color
#is_DAG = None
for j in range(r):
if G[i][j] != 0:
#print 'i:',i
#print 'j:',j
if color[j] == -1:
is_DAG = 0
break
elif