zoukankan      html  css  js  c++  java
  • uva 10305 Ordering Tasks(拓扑排序)

    拓扑排序。不用推断是否有环,dfs挺简单的

    代码:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int map[105][105];
    int visit[105];
    int c[105];
    int n,m,t;
    void dfs(int x)
    {
    	visit[x] = 1;
    	for(int i=1; i<=n; i++)
    	{
    		if(!visit[i]&&map[i][x]==1)
    		{
    			dfs(i);
    		}
    	}
    	c[t++] = x;
    }
    int main()
    {
    	int i,j,x,y;
    	while(scanf("%d%d",&n,&m),m||n)
    	{
    		 t = 1;
    		memset(visit,0,sizeof(visit));
    		memset(map,0,sizeof(map));
    		for(i=1; i<=m; i++)
    		{
    			scanf("%d%d",&x,&y);
    			map[x][y] = 1;
    		}
    		for(i=1; i<=n; i++)
    		{
    			if(!visit[i])
    				dfs(i);
    		}
    		for(i=1; i<=n; i++)
    		{
    			printf("%d",c[i]);
    			if(i!=n)
    				printf(" ");
    		}
    		puts("");
    	}
    	return 0;
    }


  • 相关阅读:
    Spring
    JavaWeb
    JDBC
    MYSQL
    IDEA个人常用快捷键
    Web前端-JAVASCRIPT
    Web前端-HTML
    注解与反射
    多线程
    区块链 ATS多策略量化机器人简介
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7039380.html
Copyright © 2011-2022 走看看