码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforce 977E Cyclic Components

时间:2020-02-13 22:59:25      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:dfs   return   tor   nts   ret   cstring   std   ace   force   

dfs判断图的连通块数量~

#include<cstdio>
#include<algorithm>
#include<vector>
#include<cstring>
using namespace std;
const int maxn=1e6+14; 
vector<int> g[maxn];
int visit[maxn],N,M,x,y,flag;
void init () {
    fill (visit,visit+maxn,0);
    for (int i=0;i<maxn;i++) g[i].clear();
}
void dfs (int v) {
    visit[v]=true;
    if (g[v].size()!=2) flag=1;
    for (int i=0;i<g[v].size();i++) 
    if (!visit[g[v][i]]) dfs (g[v][i]);
}
int dfsTrave () {
    int block=0;
    for (int i=1;i<=N;i++) 
    if (!visit[i]) {
        flag=0;
        dfs (i);
        if (!flag) block++;
    } 
    return block;
}
int main () {
    while (~scanf ("%d %d",&N,&M)) {
        init ();
        for (int i=0;i<M;i++) {
            scanf ("%d %d",&x,&y);
            g[x].push_back(y);
            g[y].push_back(x);
        }
        printf ("%d\n",dfsTrave());
    }
    return 0;
}

 

Codeforce 977E Cyclic Components

标签:dfs   return   tor   nts   ret   cstring   std   ace   force   

原文地址:https://www.cnblogs.com/zhanglichen/p/12305528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!