242. 二分图判定

给定一个具有 n 个顶点的图。

要给图上每个顶点染色,并且要使相邻的顶点颜色不同。

问是否能用最多两种颜色进行染色?题目保证没有重边和自环。

输入

  • 第一行一个整数 n(1≤n≤1000),表示顶点个数
  • 接下来每行有两个整数 x 和 y,表示顶点 x 和 y 之间有一条边,0≤x,y
  • 以 EOF(end of file) 作为边数据的结束

输出

  • Yes 或 No 表示是否能用两个颜色进行染色

样例 1

输入

3
0 1
1 2
2 0

输出

No
#include
using namespace std;

int n;
int color[1001];
vectore[1001];

bool dfs(int v,int c)
{
    color[v]=c;
    for(int i=0;i>n)
    {
        for(int i=0;i>v1>>v2;
            e[v1].push_back(v2);
            e[v2].push_back(v1);
        }
        for(int i=0;i

详解:https://blog.csdn.net/li13168690086/article/details/81506044?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164465340716780274127071%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164465340716780274127071&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-81506044.pc_search_result_cache&utm_term=%E4%BA%8C%E5%88%86%E5%9B%BE%E5%88%A4%E5%AE%9A&spm=1018.2226.3001.4187

你可能感兴趣的:(挑战程序设计,c++,算法)