我已經從Java程序轉換下面的代碼塊。我怎樣才能用Map
這個國家的名字來代替他們的ID來寫這些國家的名字呢?一個更好的方法來寫這個程序
from collections import defaultdict
colors = ['Red', 'Yellow', 'Green', 'Blue']
mapColors = defaultdict(str)
def okToColor(Map ,country, color):
for c in Map[country]:
if mapColors[c] == color: return False
return True
def explore(Map, country, color):
if country >= len(Map): return True
if okToColor(Map, country, color):
mapColors[country] = color
for color in colors:
if explore(Map, country + 1, color): return True
return False
def printMap():
for c in mapColors:
print c, mapColors[c]
Map = [[1, 4, 2, 5], [0, 4, 6, 5], [0, 4, 3, 6, 5], [2, 4, 6],
[0, 1, 6, 3, 2], [2, 6, 1, 0], [2, 3, 4, 1, 5]]
result = explore(Map, 0, 'Red')
print result
printMap()
我want't地圖是這樣一個圖:
Map = { 'A':['B', 'C'], 'B':['A','D'], ...}
其中A,B,C,d是國家的名字。
不'printMap()'給出所需輸出??? – namit
是的但我希望它打印國家的名稱,而不是ID。 – Sajjad
以及'A','B','C'和'D'如何與輸入Map關聯?我的意思是他們如何與'[[1,4,2,5],[0,4,6,5] ...有關。 .' ??? – namit