zoukankan      html  css  js  c++  java
  • HDU1272

    题目链接:https://vjudge.net/problem/HDU-1272

    题目分析:以前做过的一道并查集,今天翻到了就重新做一次。

    注意点:1、当输入只有“ 0 0"时输出”Yes";

        2、"有且仅有一条路径可以相通","有且仅有一条路径可以相通","有且仅有一条路径可以相通","有且仅有一条路径可以相通","有且仅有一条路径可以相通","有且仅有一条路径可以相通"......

        3、输出是“Yes"和”No“不是”YES"和“NO”,输出是“Yes"和”No“不是”YES"和“NO”,输出是“Yes"和”No“不是”YES"和“NO”,输出是“Yes"和”No“不是”YES"和“NO”......

     1 #include <cstdio>
     2 #include <algorithm>
     3 #include <set>
     4 using namespace std;
     5 const int maxn=100000+10;
     6 int source[maxn];
     7 set<int>vis;
     8 int node[maxn];
     9 int finds(int t){
    10     if(!source[t])
    11         return t;
    12     source[t]=finds(source[t]);
    13     return source[t];
    14 }
    15 int main()
    16 {
    17     int a,b;
    18     int yes;
    19     while(scanf("%d%d",&a,&b)==2 && a>=0 && b>=0){
    20         if(!a || !b){
    21             printf("Yes
    ");
    22             continue;
    23         }
    24         vis.insert(a);
    25         vis.insert(b);
    26         for(int i=1;i<maxn;i++){
    27             source[i]=0;
    28             node[i]=1;
    29         }
    30         yes=1;
    31         source[a]=b;
    32         node[b]+=node[a];
    33         int maxx=node[b];
    34 
    35         while(scanf("%d%d",&a,&b)==2 && a){
    36             vis.insert(a);
    37             vis.insert(b);
    38             if(!yes)
    39                 continue;
    40             int s1=finds(a);
    41             int s2=finds(b);
    42             if(s1==s2){
    43                 yes=0;
    44                 continue;
    45             }
    46             source[s1]=s2;
    47             node[s2]+=node[s1];
    48             maxx=max(node[s2],maxx);
    49         }
    50         if(yes && maxx==vis.size())     printf("Yes
    ");
    51         else    printf("No
    ");
    52         vis.clear();
    53     }
    54     return 0;
    55 }
    View Code
    “这些年我一直提醒自己一件事情,千万不要自己感动自己。大部分人看似的努力,不过是愚蠢导致的。什么熬夜看书到天亮,连续几天只睡几小时,多久没放假了,如果这些东西也值得夸耀,那么富士康流水线上任何一个人都比你努力多了。人难免天生有自怜的情绪,唯有时刻保持清醒,才能看清真正的价值在哪里。”
  • 相关阅读:
    .net core使用EasyNetQ做EventBus
    .NET Core DI 手动获取注入对象
    设置Jexus开机启动
    centos7开放关闭防火墙端口
    linux防火墙开放端口
    转 Jexus-5.6.3使用详解
    Mysql存储过程
    Reids笔记
    Lucene笔记
    Spring Junit 测试用例
  • 原文地址:https://www.cnblogs.com/Blogggggg/p/6985505.html
Copyright © 2011-2022 走看看