zoukankan      html  css  js  c++  java
  • rwkj 1481

    //1481
    #include <iostream>
    #include <cstdio>
    using namespace std;
    #define N 50010
    int parent[N],sum;
    void init()
    {
    for(int i=1;i<=N;i++)parent[i]=i;
    }
    int find(int x)
    {
    if(x==parent[x])return x;
    else return find(parent[x]);
    }
    void marge(int a,int b)
    {
    int ta = find(a);
    int tb = find(b);
    if(ta!=tb) {parent[ta]=tb;sum--;}
    }
    int main()
    {
    int n,m,i,x,y,k;
    while(scanf("%d%d",&n,&m)!=EOF&&(n+m))
    {
    init(); sum=n;
    for(i=0;i<m;i++)
    {
    scanf("%d%d%d",&k,&x,&y);
    if(x>n || y> n)
    {sum--;continue;}
    if(k==1) marge(x,y);
    else if(k=2&&x==y)sum--;
    }
    printf("%d ",n-sum);
    }
    return 0;
    }

    #include <iostream>
    #include <cstdio>
    using namespace std;
    #define N 50010
    int parent[N],sum;
    void init()
    {
    for(int i=1;i<=N;i++)parent[i]=i;
    }
    int find(int x)
    {
    if(x==parent[x])return x;
    else return parent[x]=find(parent[x]);
    }
    void marge(int a,int b)
    {
    int ta = find(a);
    int tb = find(b);
    if(ta!=tb) {parent[ta]=tb;sum--;}
    }
    int main()
    {
    int n,m,i,x,y,k;
    while(scanf("%d%d",&n,&m)!=EOF&&(n+m))
    {
    init(); sum=n;
    for(i=0;i<m;i++)
    {
    scanf("%d%d%d",&k,&x,&y);
    if(x>n || y> n)
    {sum--;continue;}
    if(k==1) marge(x,y);
    else if(k==2 && x==y )sum--;
    }
    printf("%d ",n-sum);
    }
    return 0;
    }

  • 相关阅读:
    Mysql数据操作指令
    Mysql列属性
    Mysql表的对应关系
    Mysql中的一些类型
    Mysql笔记
    (三) rest_framework 权限与限流源码梳理
    (二) rest_framework 认证源码流程与配置
    (一) rest_framework 视图入口
    django_celery_beat
    GRPC
  • 原文地址:https://www.cnblogs.com/2014acm/p/3903298.html
Copyright © 2011-2022 走看看