• SDUT 2129 树结构练习——判断给定森林中有多少棵树


    树结构练习——判断给定森林中有多少棵树

    Time Limit: 1000MS Memory Limit: 65536KB

    Problem Description

     众人皆知,在编程领域中,C++是一门非常重要的语言,不仅仅因为其强大的功能,还因为它是很多其他面向对象语言的祖先和典范。不过这世上几乎没什么东西是完美的,C++也不例外,多继承结构在带来强大功能的同时也给软件设计和维护带来了很多困难。为此,在java语言中,只允许单继承结构,并采用接口来模拟多继承。KK最近获得了一份java编写的迷你游戏的源代码,他对这份代码非常感兴趣。这份java代码是由n个类组成的(本题不考虑接口),现在,他想要知道这份代码中有多少个类没有直接基类。n个类分别用数字1..n表示。
     

    Input

     输入数据包含多组,每组数据格式如下。
    第一行包含两个整数n,m,表示该份代码中的n个类和m个单继承关系。
    后面m行,每行两个整数a b,表示a是b的直接基类。

    Output

     对于每组输入,输出该组数据中有多少个类没有直接基类。每组输出占一行。
     

    Example Input

    2 1
    1 2
    2 0

    Example Output

    1
    2

    DQE:

    水水水题,化繁为简,排除法做soeasy,数组尺寸适当大一些。

     1 #include <iostream>
     2 #include <cstdio>
     3 using namespace std;
     4 
     5 #define MVN 1010        //数组尺寸太小会R T E
     6 
     7 typedef struct VType
     8 {
     9     int x;
    10     int id;
    11     char *info;
    12 }VT;
    13 
    14 typedef struct GraphType
    15 {
    16     VT vex[MVN];
    17     int ZERO_v;    //假设开始全为树,后排除,计数用
    18     int vexn,arcn;
    19 }GT;
    20 
    21 void creat(GT &G)
    22 {
    23     int i,j,k;
    24     G.ZERO_v=G.vexn;
    25     for(i=1;i<=G.vexn;i++)
    26         G.vex[i].id=0;
    27     for(k=1;k<=G.arcn;k++)
    28     {
    29         scanf("%d %d",&i,&j);
    30         if(G.vex[j].id==0||G.vex[i].id==0)    //注意此处i,j的入度有一个为0则减少一颗树--3 2--1->2--3->2
    31         {
    32             G.ZERO_v--;        //入度为零的顶点本为独立树,有基类则树少1
    33             G.vex[j].id++;
    34         }
    35     }
    36 }
    37 
    38 int main()
    39 {
    40     GT G;
    41     while(scanf("%d %d",&G.vexn,&G.arcn)!=EOF)
    42     {
    43         creat(G);
    44         printf("%d
    ",G.ZERO_v);
    45     }
    46     return 0;
    47 }
    48 
    49 /***************************************************
    50 User name: ***
    51 Result: Accepted
    52 Take time: 0ms
    53 Take Memory: 164KB
    54 Submit time: 2016-11-18 20:42:55
    55 ****************************************************/
  • 相关阅读:
    汉语-词语:架构(计算机术语)
    汉语-词语:架构
    全世界云计算宕机和中断[2013年-2014年集锦]
    java异常处理Exception
    CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)
    操作系统CPU调度知识点
    hp-ux 集群,内存 小记
    增强for循环、Map接口遍历、可变參数方法
    spring下载和安装
    Android设计模式(八)--模板方法模式
  • 原文地址:https://www.cnblogs.com/Leroscox/p/6046304.html
Copyright © 2020-2023  润新知