Metal Steak

Hard to eat

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  0 Posts :: 79 Stories :: 0 Comments :: 0 Trackbacks

公告

aaaaaaaaaaaa

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

#include <iostream>
using namespace std;

const int MAXVAL = 10000;

int
= 0, gra[1001][1001= {MAXVAL},
mp 
= 0, ans = 0, m = 0;

struct
primapp
{
    
int
    to, wei;
    primapp()
    {
        to 
= wei = 0;
    }
}p[
1001];

void
swap(primapp 
&p1, primapp &p2)
{
    primapp p3 
= p1;
    p1 
= p2;
    p2 
= p3;
}

int
findmin(
int en)
{
    
int minn = MAXVAL;
    mp 
= 0;
    
for(int i = en; i <= n - 1; i++)
        
if(minn > p[i].wei)
        {
            minn 
= p[i].wei;
            mp 
= i;
        }
    
return minn;
}

void
__primx__(
int en)
{
    
if(en < n - 1)
    {
        
for(int i = en + 1; i <= n - 1; i++)
            
if(gra[p[en].to][p[i].to] < p[i].wei
             
&& gra[p[en].to][p[i].to] > 0)
                p[i].wei 
= gra[p[en].to][p[i].to];
        
//update

        findmin(en 
+ 1);
        
if(mp)
            swap(p[en 
+ 1], p[mp]);
        
if(ans < p[en + 1].wei)
            ans 
= p[en + 1].wei;
        __primx__(en 
+ 1);
    }
}

void
__read__()
{
    cin 
>> n >> m;
    
for(int i = 1; i <= m; i++)
    {
        
int x, y;
        cin 
>> x >> y >> gra[x][y];
        gra[y][x] 
= gra[x][y];
    }
    
for(int i = 1; i <= n - 1; i++)
    {
        p[i].to 
= i + 1;
        p[i].wei 
= MAXVAL;
    }
    p[
0].to = 1;
}

int
main()
{
    __read__();
    __primx__(
0);

    cout 
<< n - 1 << " " << ans << endl;

    
return 0;
}

posted on 2009-09-15 21:49 mad4alcohol 阅读(81) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理