leetcode 785 染色法判断二分图

复制代码
 1 class Solution {
 2 public:
 3     bool isBipartite(vector<vector<int>>& graph) {
 4         int n=graph.size();
 5         vector<int>G[n],f(n,0);
 6         for(int i=0;i<n;i++)
 7         for(auto &p:graph[i])G[i].push_back(p);
 8         function<int(int,int)>dfs=[&](int u,int c)
 9         {
10             f[u]=c;
11             for(auto &v:G[u])
12             {
13                 if(f[v]==c)return 0;
14                 if(!f[v]&&!dfs(v,3-c))return 0; 
15             }
16             return 1;
17         };
18         for(int i=0;i<n;i++)
19         if(!f[i])if(!dfs(i,1))return false;
20         return true;
21     }
22 };
复制代码

 

posted @   matt-11  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示