poj 1258

来源:互联网 发布:淘宝客如何招代理 编辑:程序博客网 时间:2024/06/08 05:58

水题

改了改poj 2458,直接交了

#include<cstdio>  #include<iostream>  #include<cstring>  #include<iostream>  using namespace std;  const int INF=0x3f3f3f;  bool used[505];  int mincost[505];  int cost[505][505];  int prim(int n)  {      for(int i=1;i<=n;i++)          mincost[i]=INF;      memset(used,false,sizeof(used));      int res=0;    mincost[1]=0;      for(int i=1;i<=n;i++){          int v=-1;          for(int u=1;u<=n;u++)              if(!used[u]&&(v==-1||mincost[u]<mincost[v])) v=u;          if(v==-1) break;          used[v]=true;          res+=mincost[v];          for(int u=1;u<=n;u++)              mincost[u]=min(mincost[u],cost[u][v]);       }      return res; }  int main()  {      int n,dd;    while(~scanf("%d",&n)){         for(int i=1;i<=n;i++)              for(int j=1;j<=n;j++){                  scanf("%d",&dd);                  cost[i][j]=dd;              }          printf("%d\n",prim(n));  }                           }   


原创粉丝点击