最后一题
import sys
def getRelationExtend(p,r,relations):
list1=relations[p]
listLen=len(list1)
for p2 in r:
list2=relations[p2]
for l in list2:
if l not in list1 and l != p:
list1.append(l)
if len(list1)==listLen:
return relations[p]
else:
newAdd=list1[listLen:]
relations[p]=list1
return getRelationExtend(p,newAdd,relations)
s=sys.stdin.readline().strip()
data=[]
while s != '':
s=list(map(int,s.split()))
data.append(s)
s=sys.stdin.readline().strip()
n=data[0][0]
m=data[1][0]
myrelations={}
relations=data[2]
for i in range(m):
if relations[2*i-1] not in myrelations:
myrelations[relations[2*i-1]]=[relations[2*i-2]]
else:
if relations[2*i-2] not in myrelations[relations[2*i-1]]:
myrelations[relations[2*i-1]].append(relations[2*i-2])
else:
pass
for i in range(n):
if i+1 not in myrelations:
myrelations[i+1]=[]
count=0
for p in myrelations:
pRelations=myrelations[p]
r=getRelationExtend(p,pRelations,myrelations)
myrelations[p]=r
if len(r) == n-1:
count+=1
print(count)