zoukankan      html  css  js  c++  java
  • hdu 1869 六度分离

    六度分离

    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3080    Accepted Submission(s): 1189

    Problem Description

    1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多年的时间里,它从来就没有得到过严谨的证明,只是一种带有传奇色彩的假说而已。 

    Lele对这个理论相当有兴趣,于是,他在HDU里对N个人展开了调查。他已经得到了他们之间的相识关系,现在就请你帮他验证一下“六度分离”是否成立吧。

    Input

    本题目包含多组测试,请处理到文件结束。
    对于每组测试,第一行包含两个整数N,M(0<N<100,0<M<200),分别代表HDU里的人数(这些人分别编成0~N-1号),以及他们之间的关系。
    接下来有M行,每行两个整数A,B(0<=A,B<N)表示HDU里编号为A和编号B的人互相认识。
    除了这M组关系,其他任意两人之间均不相识

    Output

    对于每组测试,如果数据符合“六度分离”理论就在一行里输出"Yes",否则输出"No"。

    Sample Input

    8 7
    0 1
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    8 8
    0 1
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 0

    Sample Output

    Yes
    Yes

    解题思路:每输入2个人就把他们的距离记为1,用flody算出每2个人的距离,然后扫一遍,如果期间出现2个人的距离大于7那么就跳出输出No,如果循环完都没出现这种情况

    输出Yes.

    #include<stdio.h>
    #include<string.h>
    #define INF  0x3f3f3f3f
    int dis[205][205];
    int n,m;
    int main()
    {
         int i,j,k,x,y,flag;
         while(scanf("%d %d",&n,&m)!=EOF)
         {
              flag=0;
             for(i=0;i<n;i++)
               for(j=0;j<n;j++)
                 dis[i][j]=(i==j)?0:INF;
              for(i=0;i<m;i++)
              {
                   scanf("%d %d",&x,&y);
                   dis[x][y]=dis[y][x]=1;
              }
              for(k=0;k<n;k++)
                for(i=0;i<n;i++)
                  for(j=0;j<n;j++)
                    if(dis[i][k]+dis[k][j]<dis[i][j])
                    dis[i][j]=dis[i][k]+dis[k][j];
                   for(i=0;i<n;i++)
                   {
                        for(j=0;j<n;j++)
                        {
                            if(dis[i][j]<=7)
                               continue;
                            else
                             {
                                flag=1;
                                break;
                             }
                        }
                            if(flag)
                             break;
                   }
                   if(!flag)
                        printf("Yes
    ");
                   else
                        printf("No
    ");
    
         }
         return 0;
    
    }
  • 相关阅读:
    前沿技术解密——VirtualDOM
    Ques核心思想——CSS Namespace
    Unix Pipes to Javascript Pipes
    Road to the future——伪MVVM库Q.js
    聊聊CSS postproccessors
    【译】十款性能最佳的压缩算法
    Kafka Streams开发入门(9)
    Kafka Streams开发入门(8)
    【译】Kafka Producer Sticky Partitioner
    【译】99th Percentile Latency at Scale with Apache Kafka
  • 原文地址:https://www.cnblogs.com/llei1573/p/3255940.html
Copyright © 2011-2022 走看看