hdu1285及拓扑排序模板

来源:互联网 发布:sysbench for mysql 编辑:程序博客网 时间:2024/05/21 10:38

上代码:

#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<queue>#include<algorithm>#define rep(i,n)    for (int i=1;i<=n;i++)using namespace std;int indrg[600];vector<int> map[600],ans;int mp[505][505];int n,m;int main(){    while (scanf("%d%d",&n,&m)!=EOF){        ans.clear();        memset(mp,0,sizeof mp);        memset(indrg,0,sizeof indrg);        rep(i,n)    map[i].clear();        rep(i,m){            int u,v;            scanf("%d%d",&u,&v);            if (!mp[u][v]){                map[u].push_back(v);                indrg[v]++;                mp[u][v]=1;            }        }        rep(i,n) rep(j,n){            if (indrg[j]==0){                ans.push_back(j);                rep(k,map[j].size())                indrg[map[j][k-1]]--;                indrg[j]=-1;                break;            }        }        rep(i,ans.size()-1)            printf("%d ",ans[i-1]);        printf("%d\n",ans[ans.size()-1]);    }    return 0;}


0 0