zoukankan      html  css  js  c++  java
  • 拓扑排序 (Ordering Tasks UVA

    题目描述:

    原题:https://vjudge.net/problem/UVA-10305

    题目思路:

    1.依旧是DFS

    2.用邻接矩阵实现图

    3.需要判断是否有环

    AC代码

     1 #include <iostream>
     2 #include <cstring>
     3 #include <stack>
     4 using namespace std;
     5 
     6 const int maxn = 1005;
     7 int G[maxn][maxn],tag[maxn],m,n ;
     8 stack<int> s ;
     9 
    10 void dfs(int u)
    11 {
    12     tag[u] = -1 ;//正在访问
    13     for(int v = 1;v <= n;v ++)    if(G[u][v] && !tag[v])
    14         dfs(v) ;
    15     s.push(u) ;
    16     tag[u] = 1;//访问过了 
    17 }
    18 
    19 int main(int argc, char *argv[])
    20 {
    21     while(scanf("%d%d",&n,&m) == 2 && m || n)
    22     {
    23         int u,v;
    24         for(int i = 0;i < m;i ++){
    25             scanf("%d%d",&u,&v);
    26             G[u][v] = 1; //用邻接矩阵来实现图    
    27         } 
    28         memset(tag,0,sizeof(tag)) ;
    29         for(int i = 1;i <= n;i ++)
    30             if(!tag[i]) dfs(i) ;        
    31          while(!s.empty())
    32          {
    33               printf("%d",s.top());
    34               s.pop() ;
    35             printf("%c",s.size()>0?' ':'
    ');         
    36           }
    37     }        
    38     return 0;
    39 }
  • 相关阅读:
    文件操作类File
    文件流操作
    自动登录和解/加密
    redis---set类型常用命令
    div
    css2
    css-id选择器
    table标签
    段落标签-换行标签
    input-form-select-a-img-ul-dl标签
  • 原文地址:https://www.cnblogs.com/secoding/p/9539539.html
Copyright © 2011-2022 走看看