zoukankan      html  css  js  c++  java
  • P1394 山上的国度

    题目描述

    有一个神秘的小国坐落在南方的青山之上,只有当黄昏时,落日耀眼的余晖刺破薄雾的遮拦,有机缘者才可看到小山上面的n个美丽的村庄。

    传说这个古老的国家里有m条枢纽管道,每一条苍老的管道连接着两个村庄,千百年来为村民提供水源的流通。

    n个村庄里只有一个水库,从有水库的村庄通过这些枢纽管道向其它村庄提供水源。大家都明白水往低处流,所有村庄都能得到水库的供水。

    黄小明就是那个有机缘者,同时他也是个偏执狂(把小猫绑在一起的那个变态小明),他迫切的想要知道水库应该在哪一个村庄,你能帮他解决疑惑吗?

    输入输出格式

    输入格式:

     

    第一行输入n,m<=300。第二行输入n个正整数,第i个数表示第i个村庄的海拔。之后m行每行两个数表示这两个村庄之间有一条道路。(同海拔之间不能相互流水)

     

    输出格式:

     

    若存在这样的村庄,输出两行:

    第一行为“Oui, j'ai trouve la solution.”。

    第二行为村庄的编号。

    若不行,请输出“Non”(不包括引号,可参见样例)

    输入输出样例

    输入样例#1: 复制
    4 2
    1 2 3 4
    1 2
    3 4
    
    输出样例#1: 复制
    Non

     

    紫色诱惑三:

    题意挺明确的,

    思路也挺明确的,,吧。、

    并查集,找祖先。

    
    
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 int n,m,x,y;
     9 int a[302],fa[302];
    10 
    11 int find(int s)
    12 {
    13     if(fa[s]==s) return s;
    14     else return fa[s]=find(fa[s]);
    15 }
    16 
    17 void connect(int x,int y)
    18 {
    19     x=find(x);
    20     y=find(y);
    21     fa[x]=y;
    22 }
    23 
    24 int main()
    25 {
    26     scanf("%d%d",&n,&m);
    27     for(int i=1;i<=n;++i)
    28     {
    29         scanf("%d",&a[i]);
    30         fa[i]=i;
    31     }    
    32     for(int i=1;i<=m;++i)
    33     {
    34         scanf("%d%d",&x,&y);
    35         if(a[x]>a[y]) connect(y,x);   //如果x的海拔>y的海拔,那么就让y的祖先=x的祖先。
    36         else connect(x,y);            //相反。
    37     }
    38     for(int i=2;i<=n;++i)
    39     {
    40         if(find(i)!=find(i-1))        //判断每个点的祖先是否都一样。
    41         {
    42             printf("Non");
    43             return 0;
    44         }
    45     }
    46     printf("Oui, j'ai trouve la solution.
    ");
    47     printf("%d",find(1));
    48     return 0;
    49  } 
    
    
    
     
  • 相关阅读:
    简单svg动画
    如何开发jQuery插件
    Nodejs的模块系统以及require的机制
    Nodejs的http模块
    DOM详解
    利用powershell进行远程服务器管理(命令行模式)
    关于storm群集容错概念的简单介绍
    powershell利用winform批量执行tsql语句
    nginx往后端转发时需要注意的两个问题
    解决hyerv的linux虚拟机网卡地址重启发生变化的问题
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9126116.html
Copyright © 2011-2022 走看看