二分图判定(图的搜索)
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有关系。。。沃日这个其实就是昨天的
费大的问题!!!
解决方法为百度。
或者用用什么什么极限思维啥的。