资源简介
解决四色问题
代码片段和文件信息
def dfs(matnumcolorxcount):#深度优先搜索函数,参数分别为邻接矩阵、矩阵阶数、当前着色状态、当前处理结点、已涂色的块数
if count==num:#如果已涂满,则输出
print(color)
return count
else:
coloruse=[FalseFalseFalseFalseFalse]#coloruse记录四种颜色使用情况
for i in range(num):
if mat[x][i]==1 and color[i]==0:#找到当前结点的未涂色的邻接点
for j in range(num):
if mat[i][j]==1:
coloruse[color[j]]=True
flag=False#若i结点周围的颜色没有用完,则flag=True
for j in range(15):
if coloruse[j]==False:
flag=True
if flag==True:#对i结点进行涂色
for j in range(15):
if coloruse[j]==False :
color[i]=j
dfs(matnumcoloricount+1)
color[i]=0
return count
def main():#定义一个函数
flag=True#设置flag初始值为True
while(flag):#进入循环结构
choice=int(input(‘请输入第一个结点的颜色(1 or 2 or 3 or 4
- 上一篇:python game
- 下一篇:ExceltoWord
评论
共有 条评论