设为首页 加入收藏

TOP

hdu-4857 逃生 拓扑排序
2015-07-20 17:47:51 来源: 作者: 【 】 浏览:1
Tags:hdu-4857 逃生 拓扑 排序

?

思路--优先队列+反向拓扑+逆序输出
把受限制条件多的先弹出到数组里,然后再弹出不受限制的(用优先队列按序号从大到小),最后逆序输出。

#include
  
   
#include
   
     #include
    
      #include
     
       using namespace std; #define N 30001 int n,in[N],num[N],cnt; vector
      
       v[N]; priority_queue
       
        ,less
        
          >q; //大根堆 void init() { cnt=0; for(int i=0;i<=n;i++) v[i].clear(); memset(in,0,sizeof(in)); memset(num,0,sizeof(num)); while(!q.empty()) q.pop(); } void top_sort() { for(int i=1;i<=n;i++) if(in[i]==0) q.push(i); while(!q.empty()) { int w=q.top(); q.pop(); num[cnt++]=w; for(int i=0;i
         
          =0;i--) printf( %d,num[i]); printf( ); } return 0; } 
         
        
       
      
     
    
   
  

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇LeetCode刷题笔录Add Binary 下一篇HDU 4738 Caocao's Bridges(..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)
·Python超详细一条龙 (2025-12-24 18:49:42)
·【超详细】JDK 下载 (2025-12-24 18:19:32)
·Java_百度百科 (2025-12-24 18:19:29)