集合A的点染色成1,集合B的点染色成2
注意dfs返回bool
vector<int>e[maxn];
int color[maxn];
bool dfs(int u,int res){color[u]=res;for(int v:e[u]){if(!color[v]){if(dfs(v,3-res))return true;}else{if(color[v]==res)return true;}}return false;
}
void solve(){int n,m;cin>>n>>m;for(int i=1;i<=m;i++){int u,v;cin>>u>>v;e[u].pb(v);e[v].pb(u);}bool ok=true;for(int i=1;i<=n;i++){if(!color[i]){if(dfs(i,1)){ok=false; }}}if(ok){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}
}