from time import clock import sys def DFS(start): global stack global mark global Vertex global n global Triangle stack.append(start) last=stack[len(stack)-1] del stack[len(stack)-1] indexedg=Find_Edge(start) if(indexedg==-1 ): return for i in range(0,n): if(i not in stack and int(Vertex[i][indexedg]) !=0 and i !=start): if(start in stack): Triangle=1 return stack.append(start) DFS(i) def Find_Edge(start): global mark global Vertex global Edges index=-1 for j in range(1,len(Vertex[0])): ## edge no if( int(Vertex[start][j])!=0 and mark[j-1]==0 ): mark[j-1]+=1 index=j break return index def Find_triangle_Graph(): try: InFile=open('in18_1.txt','r') OutFile=open('out_11_18_1.txt','w') start=clock() global stack global mark global Vertex global Edges global n global Triangle Edges=InFile.readline().split(" ") mark=[0]*len(Edges) ## mark for edges for i in range(0,n): Vertex.append(InFile.readline().split(" ")) ## START DFS(0) if(Triangle ==1): OutFile.write("1") else: OutFile.write("0") ## END OutFile.write("\nTotal Excution Time : "+str(clock()-start)) memUsed = sys.getsizeof(InFile) + sys.getsizeof(OutFile)+ sys.getsizeof(start)+ sys.getsizeof(Vertex)+ sys.getsizeof(Triangle)+ sys.getsizeof(Edges)+ sys.getsizeof(stack)+ sys.getsizeof(mark) OutFile.write("\nMemory used : "+str(memUsed)+" Bytes") InFile.close() OutFile.close() print "Check Your Output File : out_11_sec18_1.txt is Generated" except ValueError: print "Check Your Output File Cant Not Generated",ValueError InFile.close() OutFile.close() stack=[] Vertex=[] mark=[] Edges=[] n=5 Triangle=0 Find_triangle_Graph()