HDU1285(拓扑排序裸题

Posted h404nofound

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU1285(拓扑排序裸题相关的知识,希望对你有一定的参考价值。

。。被多组测试坑了一波

 1 #include<iostream>
 2 #include<vector>
 3 #include<queue>
 4 using namespace std;
 5 typedef long long ll;
 6 const int N = 1e3;
 7 vector<int>edge[N];
 8 vector<int> ans;
 9 priority_queue<int, vector<int>, greater<int> >q;
10 int n,m,l,r,in[N];
11 int main(){
12     ios::sync_with_stdio(0);
13     while(cin>>n>>m){
14         
15     ans.clear();while(!q.empty())q.pop();
16     for(int i = 1;i <= n;++i){in[i] = 0;edge[i].clear();}
17     
18     for(int i = 1;i <= m;++i){
19         cin>>l>>r;
20         edge[l].push_back(r);in[r]++;
21     }
22     for(int i = 1;i <= n;++i)if(in[i]==0)q.push(i);
23     while(!q.empty()){
24         int p = q.top();q.pop();
25         ans.push_back(p);
26         for(int i = 0; i < edge[p].size();++i){
27             int y = edge[p][i];in[y]--;
28             if(!in[y])q.push(y); 
29         }
30     }
31     for(int i = 0;i < n;++i){
32         if(i!=n-1)cout<<ans[i]<<" ";
33         else cout<<ans[i]<<endl;
34     }
35     }
36     return 0;
37 }

 

以上是关于HDU1285(拓扑排序裸题的主要内容,如果未能解决你的问题,请参考以下文章

HDU[1285]确定比赛名次 拓扑排序

hdu1285 拓扑排序+优先队列

hdu1285+hdu2467(拓扑排序)

HDU_1285_拓扑排序(优先队列)

*HDU1285 拓扑排序

拓扑排序 - hdu 1285