zoukankan      html  css  js  c++  java
  • poj 1308 Is It A Tree?

    水题,判断是否是一棵树,如果一个结点有多个父亲or图中有环就不是。

     1 #include <stdio.h>
     2 #include <string.h>
     3 int fa[1005],v[1005];
     4 int Find(int n)
     5 {
     6     if(fa[n] == -1)
     7         return n;
     8     fa[n] = Find(fa[n]);
     9         return fa[n];
    10 }
    11 int main()
    12 {
    13     int ca=1,a,b,i,j,f;
    14     bool ok;
    15     while(scanf("%d%d",&a,&b))
    16     {
    17         if(a==-1 && b==-1) break;
    18         if(!a && !b)
    19         {
    20             printf("Case %d is a tree.\n",ca++);
    21             continue;
    22         }
    23         ok = 1; i = 0;
    24         memset(fa,-1,sizeof fa);
    25         fa[b] = a; v[i] = b;
    26         if(a == b)
    27         {
    28             ok = 0;
    29             printf("Case %d is not a tree.\n",ca++);
    30         }
    31         while(scanf("%d%d",&a,&v[++i]),a&&v[i])
    32         if(ok)
    33         {
    34             if(fa[v[i]] != -1 || Find(a)==v[i])
    35             {
    36                 ok = 0;
    37                 printf("Case %d is not a tree.\n",ca++);
    38             }
    39             fa[v[i]] = a;
    40         }
    41         if(ok)
    42         {
    43             f = Find(v[0]);
    44             for(j = 1; j <= i&&Find(v[j]) == f; j++);
    45             if(j < i)
    46                 printf("Case %d is not a tree.\n",ca++);
    47             else printf("Case %d is a tree.\n",ca++);
    48         }
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    Spring Cloud入门
    HTML常用标签
    Spring boot 入门
    数据库 基本操作
    jquery中的ajax方法参数
    反射详解
    SpringMVC框架
    Java NIO
    MQ(消息队列)的使用场景以及常见的MQ
    英文字母和中文汉字在不同字符集编码下的字节数
  • 原文地址:https://www.cnblogs.com/lzxskjo/p/2761637.html
Copyright © 2011-2022 走看看