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

wordpress 搬家 数据库seo顾问服务

wordpress 搬家 数据库,seo顾问服务,做电影资源网站违法吗,php网站制作实例教程文章目录 题目描述二分图介绍和基本思路实现代码(C) 题目描述 给定一个n个点m条边的无向图,图中可能存在重边和自环。请你判断这个图是否是二分图。 输入格式 第一行包含两个整数n和m。接下来m行,每行包含两个整数u和v&#xf…

文章目录

    • 题目描述
    • 二分图介绍和基本思路
    • 实现代码(C++)

题目描述

  • 给定一个n个点m条边的无向图,图中可能存在重边和自环。
  • 请你判断这个图是否是二分图。

输入格式

  • 第一行包含两个整数nm
  • 接下来m行,每行包含两个整数uv,表示点u和点v之间存在一条边。

输出格式

  • 如果给定图是二分图,则输出Yes,否则输出No

数据范围

  • 1 ≤ n,m ≤ 10^5

二分图介绍和基本思路

  • 二分图的定义:一种特殊的无向图,其顶点集可以划分为两个不相交的子集,使得每一条边都恰好连接两个子集中的顶点,即每一条边都是跨集合的。
  • 二分图判定定理:一个图是二分图当且仅当图中不含有边数为奇数的环。
  • 染色法判定二分图的思想:在深度优先搜索(DFS)的过程中对图中的顶点进行染色,如果染色的过程中任何两个相邻的顶点被染成了相同的颜色,则这个图就不是二分图,否则该图就是二分图。

实现代码(C++)

#include <cstdio>
#include <vector>
using namespace std;// 【辅助常量定义】无向图中的点个数上限
const int N = 100010;// 【变量定义】无向图中点的个数和边的条数
int n, m;
// 【变量定义】无向边的两个端点的编号
int u, v;
// 【变量定义】用于存储无向边信息的邻接表
vector<int> edges[N];
// 【变量定义】用于记录二分图判定的结果
bool result;
// 【变量定义】用于记录哪些点被染色了(初始所有元素都为0,表示所有点都未被染色)
int colored[N];// 【函数定义】用于给无向图中指定编号的点和与其可以连接的点进行染色的函数
bool coloring(int number, int color)
{// 【判定阶段】如果该点没有进行染色,则对其以及与其相连的点进行染色if(colored[number] == 0) {// 首先对该点进行染色colored[number] = color;// 对与该点相连的顶点进行染色(当前顶点是颜色1则染颜色2,否则染颜色1)for(int node : edges[number]) {if(coloring(node, 3 - color) == false) return false;}// 判定可以染色return true;}// 如果该点已经完成了染色,则判定其染色结果与本次待染的颜色是否矛盾,如果矛盾则返回falseelse{if(colored[number] != color) return false;}
}// 【函数定义】用于判定一张无向图是否是二分图的函数
bool judge_graph(void)
{// 【点的遍历】顺序遍历无向图中的每一个点,并对该点所有连接的点进行染色(染第一种颜色)for(int i = 1; i <= n; ++ i){// 【判定阶段】如果当前点还没有进行染色,则对该点以及与该点连接的点进行染色// 如果染色过程中发生矛盾,则输出结果if(colored[i] == 0) if(coloring(i, 1) == false) return false;}// 如果成功完成了对无向图中所有点的染色,则说明该图是二分图return true;
}int main(void)
{// 【变量输入】输入无向图中点的个数和边的条数scanf("%d%d", &n, &m);// 【变量输入】输入无向图中的每一条边for(int i = 0; i < m; ++ i){scanf("%d%d", &u, &v);// 使用邻接表来存储无向边的信息edges[u].push_back(v);edges[v].push_back(u);}// 【获取结果】使用自定义的函数判定该无向图是否是二分图result = judge_graph();// 【结果输出】根据结果输出该无向图是否是二分图if(result == true) printf("Yes");else printf("No");return 0;
}
http://www.hkea.cn/news/928396/

相关文章:

  • 做音乐网站赚钱吗做小程序的公司
  • 坪地网站建设域名流量查询工具
  • 网站建设部署万能推广app
  • 网站的重要性怎么做个网站
  • 做网站的经验百度旗下有哪些app
  • 化工网站开发推广点击器
  • 怎么访问日本竹中建设网站外贸seo推广
  • 惠阳建设局网站引流推广接单
  • 北京通州网站建设公司如何建立公司网站网页
  • 网站换程序301seo优化按天扣费
  • html5 网站自适应长尾关键词挖掘爱站工具
  • 网站设计公司(信科网络)潍坊网站定制模板建站
  • 番禺网站开发报价百度竞价排名软件
  • 做企业网站接单seo网站优化技术
  • 建设网站行业云网络推广理实一体化软件
  • 如何用自己公司网站做邮箱关键字是什么意思
  • 古典网站建设欣赏马鞍山网站seo
  • 商城网站建设报价方案免费建网站软件下载
  • 中国做美国酒店的网站好竞价托管收费标准
  • 网站开发与设计静态网页源代码站长之家app下载
  • 松原做网站app运营推广是干什么
  • 做简单的网站链接2024新闻热点摘抄
  • 百度网站站长环球网疫情最新
  • 颍上做网站西安seo网站关键词优化
  • 有没有兼职做设计的网站吗知名网络软文推广平台
  • 数据百度做网站好用吗米拓建站
  • 网站维护运营怎么做搜索引擎优化通常要注意的问题有
  • 圆梦科技专业网站建设恶意点击软件有哪些
  • 如何做vip电影解析网站竞价恶意点击器
  • 开发简单小程序公司深圳网站优化哪家好