Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
请高手指点一下 程序是wrong answer#include <iostream> #include <stdio.h> using namespace std; const int N=102 ; bool flag[N] ; int dis[N][N] ; const int MAX = 0x7fffffff; int MST_Prim( const int n ) // n is the size of the graph { int i , m=1 , j , k ; for( i=0 ; i<n ; i++ ) if( flag[i] == true ) m ++ ; if( m == 1 ){ flag[1] = true ; m ++ ;} int min , lable ; int distance = 0 ; for (k=0; k<=n-m; k++) { min=MAX; for(i=0; i<n; i++) { if (flag[i]) for (j=0; j<n; j++) if ( !flag[j] && i!=j ) { if (dis[i][j]<min) { min=dis[i][j]; lable=j; } } } distance += min; flag[lable]=true; } return distance ; } int main() { int a , b , m ,n ; int distance = 0 ; scanf( "%d" , &n ) ; for( int i=0 ; i<n ; i++ ) for( int j=0 ; j<n ;j++ ) scanf( "%d" , &dis[i][j] ) ; //输入图 scanf( "%d" ,&m ) ; for( int i=0 ; i<m ; i++ ) { scanf( "%d%d" , &a , &b ) ; flag[a-1] = true , flag[b-1] = true ; }//输入已经联上的村庄 distance = MST_Prim( n ) ; printf( "%d\n" , distance ) ; cin >> distance ; return 0 ; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator