zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) 1013. Battle Over Cities (25)

    并查集判断连通性。

    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<cstdio>
    #include<map>
    using namespace std;
    
    const int maxn=1010;
    struct Edge
    {
        int u,v;
    }e[maxn*maxn];
    int n,m,k;
    int f[maxn];
    
    int Find(int x)
    {
        if(x!=f[x]) return f[x]=Find(f[x]);
        return f[x];
    }
    
    int main()
    {
        scanf("%d%d%d",&n,&m,&k);
        for(int i=1;i<=m;i++)
            scanf("%d%d",&e[i].u,&e[i].v);
    
        for(int i=1;i<=k;i++)
        {
            int id; scanf("%d",&id);
            int sz=n-1;
            for(int j=1;j<=n;j++) f[j]=j;
            for(int j=1;j<=m;j++)
            {
                if(e[j].u==id) continue;
                if(e[j].v==id) continue;
                int fx=Find(e[j].u);
                int fy=Find(e[j].v);
                if(fx!=fy)
                {
                    f[fx]=fy;
                    sz--;
                }
            }
            printf("%d
    ",sz-1);
        }
        return 0;
    }
  • 相关阅读:
    Tomcat组件
    Tomcat介绍
    Varnish的VCL
    varnish的架构和日志
    Varnish介绍
    HAProxy的配置
    HAProxy介绍
    KeepAlived的实现示例
    KeepAlived的配置
    vue2.0填坑有感(持续更新ing)
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5497011.html
Copyright © 2011-2022 走看看