zoukankan      html  css  js  c++  java
  • 有两个种类的并查集——pku2492

    View Code
    #include<stdio.h>
    #define N 2009

    int e[N];
    int f[N];

    int find(int pos)
    {
    if(f[pos]==-1)return pos;
    return f[pos]=find(f[pos]);
    }

    int un(int a,int b)
    {
    int fa=find(a),fb=find(b);
    if(fa==fb)return 0;
    f[fa]
    =fb;return 1;
    }

    int main()
    {
    int t,n,m,rt,a,b,ca=0,i,T;
    scanf(
    "%d",&T);
    t
    =T;
    while(t--)
    {
    ca
    ++;
    scanf(
    "%d%d",&n,&m);
    for(i=1;i<=n;i++)
    {
    f[i]
    =-1;
    e[i]
    =-1;
    }

    rt
    =0;
    for(i=1;i<=m;i++)
    {
    scanf(
    "%d%d",&a,&b);
    if(find(a)==find(b))
    rt
    =1;//判断即可

    int fa,fb;
    fa
    =find(a);
    fb
    =find(b);

    if(e[fa]==-1)
    {
    e[fa]
    =fb;
    }
    else
    {
    un(e[fa],fb);
    }

    if(e[fb]==-1)
    {
    e[fb]
    =fa;
    }
    else
    {
    un(e[fb],fa);
    }
    }

    if(rt==1)
    {
    printf(
    "Scenario #%d:\n",ca);
    printf(
    "Suspicious bugs found!\n");
    }
    else
    {
    printf(
    "Scenario #%d:\n",ca);
    printf(
    "No suspicious bugs found!\n");
    }
    if(ca!=T)
    printf(
    "\n");
    }
    }
  • 相关阅读:
    Beta 冲刺day 6
    Beta冲刺day5
    Beta冲刺day4
    Beta 冲刺day3
    Beta 冲刺day2
    Beta冲刺day1
    Beta预备
    城市安全风险管理项目Postmortem结果
    项目总结
    Alpha冲刺置顶随笔
  • 原文地址:https://www.cnblogs.com/huhuuu/p/1964981.html
Copyright © 2011-2022 走看看