HDU 2102 判断最小的环的数量,可用并查集,这里是dfs写法

忘记考虑重边,要改成while跑到余量为0才走。

#include
using namespace std;
#define ll long long

int vis[10000+5];
int g[1000+5][1000+5];
int res=0;

int n,m;

void dfs(int id){
    /*printf("id=%d\n,vis=%d\n",id,vis[id]);
    for(int i=0;i>n>>m){
        for(int i=0;i<10000+5;i++)
            vis[i]=0;
        for(int i=0;i<1000+5;i++)
            for(int j=0;j<1000+5;j++)
                g[i][j]=0;
        res=0;
        while(m--){
            int a,b;
            cin>>a>>b;
            g[a][b]++;
            g[b][a]++;
        }

        for(int i=0;i

 

你可能感兴趣的:(搜索)