Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def start():
- n = int(input())
- mtr = [[0 for i in range(n)] for j in range(n)]
- for i in range(n):
- ss = input().split(' ')
- row = list(map(int, ss))
- for j in range(n):
- tmp = row[j]
- mtr[i][j] = tmp
- mtr[j][i] = tmp
- chk = [0 for i in range(n)]
- num_est = 0
- while True:
- flg = True
- for i in range(n):
- if chk[i] == 0:
- flg = False
- num_est = num_est + 1
- chk[i] = 1
- dfs(i, mtr, chk)
- break
- if not flg:
- return num_est
- def dfs(v, mtr, chk):
- len_i = len(mtr)
- for i in range(len_i):
- if chk[i] == 0 and mtr[i][v] != 0:
- chk[i] = 1
- dfs(i, mtr, chk)
- if __name__ == '__main__':
- ans = start()
- print(ans)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement