diff --git a/BestCoder/Round-1/1001_Shangli_Cloud.cpp b/BestCoder/Round-1/1001_Shangli_Cloud.cpp new file mode 100644 index 0000000..ecf7bfe --- /dev/null +++ b/BestCoder/Round-1/1001_Shangli_Cloud.cpp @@ -0,0 +1,65 @@ +#include"iostream" +#include"cstdio" +#include"cstring" +#include"algorithm" +#include"queue" +#include"vector" +using namespace std; +const int ms=30010; +vector v[ms]; +struct cmp +{ + bool operator()(const int &a,const int &b) + {//从大到小 + return a,cmp> q; + for(int i=1;i<=n;i++) + if(in[i]==0) + q.push(i); + int x,i; + while(!q.empty()) + { + x=q.top(); + q.pop(); + ans[++cnt]=x; + for(i=0;i>t; + while(t--) + { + cin>>n>>m; + for(i=0;i<=n;i++) + v[i].clear(); + memset(in,0,sizeof(in)); + while(m--) + { + scanf("%d%d",&a,&b); + v[b].push_back(a); + in[a]++; + } + cnt=0; + topo(); + printf("%d",ans[cnt]); + for(i=cnt-1;i>0;i--) + { + printf(" %d",ans[i]); + } + puts(""); + } + return 0; +}