首页 > 代码库 > BestCoder Round #1 第一题 逃生
BestCoder Round #1 第一题 逃生
// 等了好久,BESTCODER 终于出来了、、像咋这样的毕业的人、、就是去凑凑热闹
// 弱校搞acm真是难,不过还是怪自己不够努力
// 第一题是明显的拓扑排序,加了了个字典序限制而已
// 用优先队列就可以搞定了
#include <iostream>#include <string.h>#include <stdio.h>#include <algorithm>#include <vector>#include <map>#include <queue>using namespace std;#define LL long long#define N 30010#define mod 1000000007vector<int> V[N];int in[N];int main(){ priority_queue<int,vector<int>,greater<int> >Q; int T; int n,m; int a,b; int i; scanf("%d",&T); while(T--) { int flag=0; scanf("%d %d",&n,&m); for(i=1;i<=n;i++){ V[i].clear(); in[i]=0; } while(m--) { scanf("%d %d",&a,&b); V[a].push_back(b); in[b]++; } for(i=1;i<=n;i++) if(in[i]==0) Q.push(i); while(!Q.empty()) { a=Q.top(); Q.pop(); if(flag==0) { printf("%d",a); flag=1; } else printf(" %d",a); for(i=0;i<V[a].size();i++){ b=V[a][i]; in[b]--; if(in[b]==0) Q.push(b); } } printf("\n"); } return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。