zoukankan      html  css  js  c++  java
  • 2013年 ACM 有为杯 Problem I (DAG)

    有为杯  Problem I

    DAG  有向无环图

    A direct acylic graph(DAG),is a directed graph with no directed cycles . That is ,it is formed by a collection of  vertion  of  vertices  and  directed  edges ,  each     edge

     connecting   one vertex to another,such that there is no way to way start at some vertex   v  and follow a squence of edges  that eventually  loops  back to v  again.

    Given  a  DAG,output how many vertices each vetex can reach (including itself).

    这是我根据题目写的算法,请各位品评、品评

    #include<iostream>
    #define g  10000
    using namespace std;
    int istr[g];//遍历过的点做标志
    int a[g][g];

    //深度遍历
    void deeptaG(int k,int n){ 
    int i;
    istr[n]=1;
     for(i=0;i<k;i++){
      if(a[n][i]!=0 && !istr[i]){
      deeptaG(k,i);
      }
     }
    }

    int main(){

    int o,p,i,k,j;
     int n,l;
     cin>>k>>l;
     while(l--){
     cin>>o>>p;
     a[o][p]=1;}


     for (i=0;i<k;i++){
      for (int h=0;h<k;h++)
      { istr[h]=0; }
     deeptaG(k,i);
     j=0;
     for(int u=0;u<k;u++)
     if(istr[u]==1){++j;}
    cout<<j<<endl;
     }
    return  0;
    }

  • 相关阅读:
    文本替换
    国际时间转化为北京时间
    nginx 白名单
    System.Web.HttpException 超过了最大请求长度。
    nginx 优化
    nginx 502 504
    nginx 配置文件相关参数
    nginx location指令 正则表达式
    子网下连接路由器配置
    Java初学者
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3329121.html
Copyright © 2011-2022 走看看