• hdu 1272 小希的迷宫 (并查集)


    http://acm.hdu.edu.cn/showproblem.php?pid=1272

    裸的并查集,注意两个地方: 

    1. 最后所有的点要在同一个集合中

    2. 输入只有0 0时需要特殊处理

    code:

    #include<cstdio>
    #include<cstring>
    int p[100001] ;
    bool vis[100001] ;
    void make_set(){
        for(int i=1; i<=100001; i++)
            p[i] = i ;
    }
    int find_set(int x){
        if(p[x]!=x)
            p[x] = find_set(p[x]) ;
        return p[x] ;
    }
    void union_set(int x, int y){
        x = find_set(x) ;
        y = find_set(y) ;
        p[x] = y ;
    }
    int main(){
        int x, y, flag, node, edge ;
        while(~scanf("%d%d", &x, &y)&&x+y+2){
            flag = 0 ;
            node = 2, edge = 1 ;
            if(!(x+y)){
                printf("Yes\n") ;
                continue ;
            }
            memset(vis, falsesizeof(vis)) ;
            vis[x] = true, vis[y] = true ;
            make_set() ;
            union_set(x, y) ;
            while(~scanf("%d%d", &x, &y)&&x+y){
                edge ++ ;
                if(!vis[x]) node ++ ;
                if(!vis[y]) node ++ ;
                vis[x] = vis[y] = true ;
                if(flag||find_set(x)==find_set(y)){
                    flag = 1 ;
                    continue ;
                }
                union_set(x, y) ;
            }
            if(!flag&&(node-edge==1))    printf("Yes\n") ;
            else    printf("No\n") ;
        }
        return 0 ;} 
  • 相关阅读:
    js字符串转数组,转对象方法
    react执行yarn eject后配置antd的按需加载
    DOM对象与jquery对象区别
    vscode使用git管理代码
    使用vscode编辑器编辑CPU100%使用率问题
    Java 多态
    1,随机生成一个500m的txt,填充内容为小写的26个字母。生成后,查找abc字符,打印出其数量和位置(越快越好)
    bat 文件
    word2Html
    生成压缩文件
  • 原文地址:https://www.cnblogs.com/xiaolongchase/p/2435888.html
Copyright © 2020-2023  润新知