Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Node Disconnected Users by derrickding95
def search(net,source):
for i in net:
if source in i:
for j in i:
if userlist[j] == False:
userlist[j] = True
search(net,j)
def disconnected_users(net, users, source, crushes):
# organize net
temp = []
for i in crushes:
for j in net:
if i in j:
temp.append(j)
for i in temp:
net.remove(i)
# list create
global userlist
userlist = {}
for i in users.keys():
userlist[i] = False
# DFS
if source not in crushes:
userlist[source] = True
search(net,source)
#calculate number of pigeon
n = 0
for i in userlist.keys():
if userlist[i] == False:
n += users[i]
return n
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert disconnected_users([
['A', 'B'],
['B', 'C'],
['C', 'D']
], {
'A': 10,
'B': 20,
'C': 30,
'D': 40
},
'A', ['C']) == 70, "First"
July 14, 2018
Comments: