二分图判定(图的搜索)

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你得弄清楚。

猜你喜欢

转载自www.cnblogs.com/beiyueya/p/12208173.html