zoukankan      html  css  js  c++  java
  • 无向图查环(包括自环)

     1 #include <bits/stdc++.h>
     2 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
     3 #define pb push_back
     4 #define maxn 100
     5 using namespace std;
     6 
     7 vector<int> m[maxn];
     8 int vis[maxn];
     9 
    10 void addnode(int i,int j)
    11 {
    12     m[i].pb(j);m[j].pb(i);
    13 }
    14 
    15 bool dfs(int i,int pa)
    16 {
    17     if(vis[i] == 1) return true;//have judged
    18     if(vis[i] == -1) return false;//is judging
    19     vis[i] = -1;
    20     _for(j,0,m[i].size())
    21         if(m[i][j]!=pa && !dfs(m[i][j],i))
    22             return false;
    23     vis[i] = 1;
    24     return true;
    25 }
    26 
    27 bool haveRing()
    28 {
    29     memset(vis,0,sizeof(vis));
    30     _for(i,0,maxn)
    31         if(!dfs(i,-1))
    32             return true;
    33     return false;
    34 }
    35 
    36 int main()
    37 {
    38     addnode(5,1);
    39     addnode(1,2);
    40     addnode(2,3);
    41     addnode(3,4);
    42 //    addnode(2,2);
    43 //    addnode(2,4);
    44     cout << haveRing() << endl;
    45     return 0;
    46 }
  • 相关阅读:
    Django的路由系统
    Django框架简介
    模块和包
    内置函数——filter和map
    匿名函数
    Djangon 基础总结 汇总 从请求到返回页面的过程,
    Django基础 一
    异常处理
    Sqoop
    Oozie
  • 原文地址:https://www.cnblogs.com/Asurudo/p/10115767.html
Copyright © 2011-2022 走看看