Java教程

二分图 在两个房间里分配

本文主要是介绍二分图 在两个房间里分配,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.常见输入 给出 a b c
https://www.acwing.com/problem/content/259/ 二分答案+二分图
二分 染色处理到小于等于mid 的值的时候需要continue 相当于不管他把他放在同一个房间里面

dfs(c)
首先当前点染成c
枚举所有领点
如果边的权值小于mid的话就需要不考虑continue
j表示领点
如果领点已经有颜色
而且如果颜色和当前点的颜色相同 返回false
否则如果染色(3-c)失败 返回false
最后能到达这里返回真

所有颜色清空
枚举所有点
没有染过就给他染色
如果染色返回矛盾
返回false
所有点没有报错返回正确

2.棋盘覆盖
dfs 问问他的女朋友有没有被分配过
枚举所有领点
如果不合法 continue
如果没遍历过 continue

t表示下一个点
如果没被分配过或者dfs t后成功
那么就返回真

这篇关于二分图 在两个房间里分配的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!