from time import clock import sys def depthfirstsearch(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=discoveredge(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) depthfirstsearch(i) def discoveredge(start): global mark global Vertex global Edges index=-1 for j in range(1,len(Vertex[0])): if( int(Vertex[start][j])!=0 and mark[j-1]==0 ): mark[j-1]+=1 index=j break return index def triangle(): InFile=open('in18_4.txt','r') OutFile=open('out_1_18_4.txt','w') start=clock() global stack global mark global Vertex global Edges global n global Triangle Edges=InFile.readline().split(" ") mark=[0]*len(Edges) for i in range(0,n): Vertex.append(InFile.readline().split(" ")) depthfirstsearch(0) if(Triangle ==1): OutFile.write("1") else: OutFile.write("0") 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() stack=[] Vertex=[] mark=[] Edges=[] n=5 Triangle=0 triangle()