• HDOJ 2120 Ice_cream's world I


    Ice_cream’s world I

    ice_cream’s world is a rich country, it has many fertile lands. Today, the queen of ice_cream wants award land to diligent ACMers. So there are some watchtowers are set up, and wall between watchtowers be build, in order to partition the ice_cream’s world. But how many ACMers at most can be awarded by the queen is a big problem. One wall-surrounded land must be given to only one ACMer and no walls are crossed, if you can help the queen solve this problem, you will be get a land.
    Input
    In the case, first two integers N, M (N<=1000, M<=10000) is represent the number of watchtower and the number of wall. The watchtower numbered from 0 to N-1. Next following M lines, every line contain two integers A, B mean between A and B has a wall(A and B are distinct). Terminate by end of file.
    Output
    Output the maximum number of ACMers who will be awarded.
    One answer one line.
    Sample Input
    8 10
    0 1
    1 2
    1 3
    2 4
    3 4
    0 5
    5 6
    6 7
    3 6
    4 7
    Sample Output
    3

    题意:构成了几个环。

    题解:

    void mix(int a,int b)
    {
        int x;
        int y;
        x=find(a);
        y=find(b);
        if(x!=y)
        road[x]=y;
        else
        ans++;
    
    }
    
    
    这里这样写就OK
    #include<stdio.h>
    int road[1010];
    int ans;
    int find(int a)
    {
        if(road[a]==a) return a;
        else
        return find(road[a]);
    }
    void mix(int a,int b)
    {
        int x;
        int y;
        x=find(a);
        y=find(b);
        if(x!=y)
        road[x]=y;
        else
        ans++;
    
    }
    int main()
    {
        int n,m;
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            ans=0;
            for(int i=0;i<=n-1;i++)
            road[i]=i;  
            int a, b;
            for(int i=0;i<m;i++)
            {
                scanf("%d%d",&a,&b);
                mix(a,b);
            }       
            printf("%d
    ",ans);
        }
    }
  • 相关阅读:
    java 算法最长连续递增子序列
    java 算法最长连续递增序列
    最大连续子数组和(Java)
    mysql时间序列与窗口函数
    CSS控制br高度
    小知识随手记(九):兄弟选择器(~和+)区别
    VUE组件递归实现自定义目录及拖拽效果
    VUE的插件解析
    VUE的mixin混入解析
    VUE高阶组件解析
  • 原文地址:https://www.cnblogs.com/-xiangyang/p/9220260.html
Copyright © 2020-2023  润新知