第三题又鼓捣了一下,整了个并查集解法,写不下分两拨 import sys m,n=list(map(int,sys.stdin.readline().strip().split())) road=[] for i in range(m):     road.append(list(map(int,sys.stdin.readline().strip().split()))) fa=[i for i in range(m*n)] def find(x):     global fa     if fa[x]==x:         return x     else:         fa[x]=find(fa[x])         return fa[x] def union(x,y):     fa[find(x)]=find(y) def isnear(x,y,n):     hangx=x//n     hangy=y//n     liex=x%n     liey=y%n     return (hangx==hangy and abs(liex-liey)==1)&nbs***bsp;(liex==liey and abs(hangx-hangy)==1) island=[] people=[] restrant=[]