当前位置: 首页 > news >正文

中山好的网站建设公司哪家好/友情链接翻译

中山好的网站建设公司哪家好,友情链接翻译,北京做手机网站建设,安徽合肥网站制作公司目录 1 什么是二分图2 进入情境3 代码实现4 BFS是什么? 1 什么是二分图 一个图用两种颜色涂(橙黄和橘绿),相邻节点不能同色,如下图,4与5相邻且同色,所以不是二分图。 2 进入情境 第一版&#xf…

目录

  • 1 什么是二分图
  • 2 进入情境
  • 3 代码实现
  • 4 BFS是什么?

1 什么是二分图

  一个图用两种颜色涂(橙黄和橘绿),相邻节点不能同色,如下图,4与5相邻且同色,所以不是二分图。

2 进入情境

  第一版:设每个节点都是一个炮仗,横线即引线,相连的炮仗能被他的邻居点燃,即一个炮仗响了,和他相连的炮仗也将会被点燃。

  1. 初始化:选一个炮仗,涂成绿色,放到包里。
  2. 从容而得意的,从包里取一个炮仗:点燃
  3. 被引线相连的也将会被引燃,先把他们标记为不同的颜色(如黄色),并放到包里。
    • 注意: 如果下一个炮仗已有颜色且和刚刚的颜色一样,说明相邻的颜色重复,不是二分图,退出。
  4. 若包里还有节点,就回到步骤2继续点。
  5. 全程安全放炮,说明是二分图。

3 代码实现

#include <iostream>
#include <vector>
#include <string>
#include <queue>using namespace std;
#define see(x) cout << x << endl
#define see2(x, y) cout << (x) << (y) << endl
class Solution
{
public:using _num = size_t;bool bfs(vector<vector<int>> &graph, vector<int> &vis,_num id){enum{no_color,yellow,green};bool ans = true;// 最开始取一个涂色,放入包里。bague<int> bag;vis.at(id) = yellow;bag.push(id);while (!bag.empty() && ans){int now_id = bag.front();//取一个出来bag.pop();//点燃,嘭!int now_color = vis.at(now_id);//记录当前颜色//将被引燃的邻居小炮们for (auto &nxt : graph.at(now_id)){if (vis.at(nxt) == no_color){   //无颜色就涂成不同色vis.at(nxt) = now_color !=yellow?yellow:green;bag.push(nxt);//放入包里}else//已经有颜色{if (vis.at(nxt) == now_color){//颜色重复了ans = false;break; //不是二色图}else{;//不重复,什么也不做}}}}return ans;}bool isBipartite(vector<vector<int>> &graph){_num n = graph.size();vector<int> vis(n, 0); // 0 not visit, 1 one color, 2 another colorbool ans=true;for(_num id=0;id<n;++id){if(0==vis.at(id))//可能有多个子图ans=ans && bfs(graph, vis,id);}return ans;}
};void test()
{//领接链表vector<vector<int>> G{{1,3},{0,2},{1,3},{0,2,4,5},{3,5},{3,4}};Solution sol;if (sol.isBipartite(G)){see("Accept!!!");}else{see("something error.");}
}int main()
{test();return 0;
}

4 BFS是什么?

   一圈放完,再放外面一圈,炮声渐远……
   BFS 广度优先搜索,从起点开始,将所有和它相邻的结点都搜索一遍,重复该操作,层层铺开,地毯式搜索,好似水中的涟漪,从中心开始,向四周扩散,直到遍历完整个图。

http://www.jmfq.cn/news/5012587.html

相关文章:

  • 网站制作报价多少/seo交流博客
  • 网页小游戏网站建设/上海十大营销策划公司排名
  • 台州制作网站软件/个人网站制作模板
  • 做网站可以赚钱吗/福州seo排名优化
  • 山东临沂网站开发/亚马逊排名seo
  • 做微信请帖网站/企业网站大全
  • 杭州做企业网站的公司/seo教学培训
  • php网站建设与维护/上海网站推广系统
  • 网站非法篡改/seo搜索引擎优化业务
  • 广州网站制作功能/永久免费google搜索引擎
  • 网站开发费用明细/网络营销广告
  • 昌乐网站制作/北京seo优化排名
  • 战鼓的h5网站如何做/阿拉善盟seo
  • 网站备案后怎么做/青柠影院免费观看电视剧高清
  • 做网站手机电脑通用要加些什么/东莞网站建设推广公司
  • 媒体资源/上海站群优化公司
  • 使用dw做门户网站/武汉java培训机构排名榜
  • 网站建设的可用性/建设网站流程
  • 网站后台界面/免费网站推广网站在线
  • 织梦网站有会员系统怎么做/南宁优化推广服务
  • wordpress用户量上限/seo计费系统源码
  • 唐山网站建设培训/百度首页优化排名
  • 万国手表网站/河南网站推广
  • 湖南省建设厅网站/哈尔滨seo关键字优化
  • 二次开发语言/网站推广优化方案
  • 我想建立一个网站不知道怎么做啊/搜索引擎优化教程
  • 韩国手表网站/广告推广网站
  • 服务商pid是什么意思/百度爱采购怎么优化排名
  • 丽江网站建设/优化网站视频
  • 浙江省网站备案注销申请表/武汉网站开发公司seo