二分图判定(图的搜索)

1,挺熟悉的,我不会呵呵。

2,什么图着色问题,

3,呵呵呵呵呵呵。

这课本也就这样吧。要不是我之前就搞过一遍。。。

4,真是的,还要我自己弄这个东西!!!!。

#include<iostream>
#include<vector> 
using namespace std;
vector<int> g[1005];
int vv,edge;
int color[1005];
bool dfs(int v,int c)
{
    color[v]=c;
    for(int i=0;i<g[v].size();i++)
    {
        if(color[g[v][i]]==c) return false;
        if(color[g[v][i]]==0&&!dfs(g[v][i],-c)) return false;
    }
    return true;
}
int main(){
    cin>>vv>>edge;
    for(int i=0;i<edge;i++)
    {
        int s,t;
        cin>>s>>t;
        g[s].push_back(t);
        g[t].push_back(s);
    }
    for(int i=0;i<vv;i++)
    {
        if(color[i]==0)
        {
            if(!dfs(i,1))
            {
                cout<<"No"<<endl;
                return 0 ;
            }
        }
    }
    cout<<"Yes"<<endl;
} 

5,起码知道这咋连个p边(当然是无向图)

cin>>vv>>edge;
    for(int i=0;i<edge;i++)
    {
        int s,t;
        cin>>s>>t;
        g[s].push_back(t);
        g[t].push_back(s);
    }

6,设计的很巧妙我就想这么说。

 if(color(g[v][i])==ss) return false [Error] 'color' cannot be used as a function 

你能看出来哪错了吗

7,还行,再费小一下就可以费大 了。

模拟的时候刚好把不太懂的东西弄出来了。

这个里面的true,true,false,false你得弄清楚。

同时还有深度搜索的思想。深搜,递归等。

你这块的机制你得再想想。。。。

费大的话他是基于一个什么样的思想??

我费大再费上个5分钟。。

为啥呢?

可能跟这个1,-1有关系。。。沃日这个其实就是昨天的

费大的问题!!!

解决方法为百度。

或者用用什么什么极限思维啥的。

posted @ 2020-01-18 08:48  北月真好  阅读(156)  评论(0编辑  收藏  举报