• nullnull图论最短路之bellmanford


    文章结束给大家来个程序员笑话:[M]

    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    
    using namespace std ;
    const int INF = 1000000 ;
    const int maxn = 8 ; 
    int n ;
    int edge[ maxn ][ maxn ] ;
    int dist[ maxn ] ;
    int path[ maxn ] ;
    void bellman( int v0 )
    {
    	int i , j , k , u ;
    	for( i = 0 ; i < n ; i++ )
    	{
    		dist[ i ] = edge[ v0 ][ i ] ;
    		if( i != v0 && dist[ i ] < INF )
    			path[ i ] = v0 ;
    		else
    			path[ i ] = -1 ;
    	}
    	for( k = 2 ; k < n ; k++ )
    	{
    		for( u = 0 ; u < n ; u++ )
    		{
    			if( u != v0 )
    			{
    				for( j = 0 ;  j < n ; j++ )
    				{
    					if( edge[ j ][ u ] < INF && dist[ j ] + edge[ j ][ u ] < dist[ u ] )
    					{
    						dist[ u ] = dist[ j ] + edge[ j ][ u ] ;
    						path[ u ] = j ;
    					}
    				}
    			}
    		}
    	}
    }
    
    
    int main()
    {
    	int i , j ;
    	int u , v , w ;
    	scanf( "%d" , &n ) ;
    	while( 1 )
    	{
    		scanf( "%d%d%d" , &u , &v , &w ) ;
    		if( u == -1 && v == -1 && w == -1 )
    			break ;
    		edge[ u ][ v ] = w ;
    	}
    	for( i = 0 ; i < n ; i++ )
    	{
    		for( j = 0 ; j < n ; j++ )
    		{
    			if( i == j )
    				edge[ i ][ j ] = 0 ;
    			else
    				if( edge[ i ][ j ] == 0 )
    					edge[ i ][ j ] = INF ;
    		}
    	}
    	bellman( 0 ) ;
    	int shortest[ maxn ] ;
    	for( i = 1 ; i < n ; i++ )
    	{
    		printf( "%d\t" , dist[ i ] );
    		memset( shortest , 0 , sizeof( shortest ) ) ;
    		int k = 0 ;
    		shortest[ k ] = i ;
    		while( path[ shortest[ k ] ] != 0 )
    		{
    			k++ ;
    			shortest[ k ] = path[ shortest[ k - 1 ] ] ;
    		}
    		k++ ;
    		shortest[ k ] = 0 ;
    		for( j = k ; j > 0 ; j-- )
    			printf( "%d---->" , shortest[ j ] ) ;
    		printf( "%d\n" , shortest[ 0 ] ) ;
    	}	
    	return 0 ;
    }
        每日一道理
    如果说友谊是一颗常青树,那么,浇灌它的必定是出自心田的清泉;如果说友谊是一朵开不败的鲜花,那么,照耀它的必定是从心中升起的太阳。 多少笑声都是友谊唤起的,多少眼泪都是友谊揩干的。友谊的港湾温情脉脉,友谊的清风灌满征帆。友谊不是感情的投资,它不需要股息和分红。(友谊可以换其他词语)

        7

    0 1 6
    0 2 5
    0 3 5
    1 4 -1
    2 1 -2
    2 4 1
    3 2 -2
    3 5 -1
    4 6 3
    5 6 3
    -1 -1 -1
    1       0---->3---->2---->1
    3       0---->3---->2
    5       0---->3
    0       0---->3---->2---->1---->4
    4       0---->3---->5
    3       0---->3---->2---->1---->4---->6
    */

    文章结束给大家分享下程序员的一些笑话语录: 与女友分手两月有余,精神萎靡,面带菜色。家人介绍一女孩,昨日与其相亲。女孩果然漂亮,一向吝啬的我决定破例请她吃晚饭。
    选了一个蛮贵的西餐厅,点了比较贵的菜。女孩眉开眼笑,与我谈得很投机。聊着聊着,她说:“我给你讲个笑话吧。”“ok”
      “一只螳螂要给一只雌蝴蝶介绍对象,见面时发现对方是只雄蜘蛛。见面后螳螂问蝴蝶‘如何?’,‘他长的太难看了’,‘别看人家长的丑,人家还有网站呢’。”
      “呵呵………”我笑。忽然她问:“你有网站吗?”  

  • 相关阅读:
    mvc:三
    mvc:二
    Linq分组,linq方法分组
    Linq 中按照多个值进行分组(GroupBy)
    Photoshop 字体
    报表Reporting S而vice是 错误的解决
    1*书籍装帧
    photoshop 魔术橡皮擦
    Photoshop 钢笔 双窗口显示
    数字格式化
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3080587.html
Copyright © 2020-2023  润新知