hdu 1285(拓扑排序)

来源:互联网 发布:sql查询字段长度限制 编辑:程序博客网 时间:2024/06/07 03:43
#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define M 505int map[M][M],degree[M],len[M];int n,m,a,b;int main(){    while(scanf("%d%d",&n,&m)==2)    {        memset(len,0,sizeof(len));        memset(degree,0,sizeof(degree));        for(int i=0; i<m; i++)        {            scanf("%d%d",&a,&b);            map[a][len[a]++]=b;//能顺便记录有几条线与a相连            degree[b]++;//入度        }        int nn=n;        while(nn--)        {            if(nn!=n-1)                printf(" ");            int min=M;            for(int i=1; i<=n; i++)            {                if(degree[i]==0&&i<min)                    min=i;            }            degree[min]=-1;            for(int i=0; i<len[min]; i++)            {                degree[map[min][i]]--;            }            printf("%d",min);        }        puts("");    }    return 0;}

0 0
原创粉丝点击