• poj1258(Agri-net)


    解题思路:

         最小生成树、

    代码:

     1 #include <algorithm>
     2 #include <iostream>
     3 #include <sstream>
     4 #include <cstdlib>
     5 #include <cstring>
     6 #include <cstdio>
     7 #include <string>
     8 #include <bitset>
     9 #include <vector>
    10 #include <queue>
    11 #include <stack>
    12 #include <cmath>
    13 #include <list>
    14 //#include <map>
    15 #include <set>
    16 using namespace std;
    17 /***************************************/
    18 #define ll long long
    19 #define int64 __int64
    20 /***************************************/
    21 const int INF = 0x7f7f7f7f;
    22 const double eps = 1e-8;
    23 const double PIE=acos(-1.0);
    24 const int d1x[]= {0,-1,0,1};
    25 const int d1y[]= {-1,0,1,0};
    26 const int d2x[]= {0,-1,0,1};
    27 const int d2y[]= {1,0,-1,0};
    28 const int fx[]= {-1,-1,-1,0,0,1,1,1};
    29 const int fy[]= {-1,0,1,-1,1,-1,0,1};
    30 /***************************************/
    31 void openfile()
    32 {
    33     freopen("data.in","rb",stdin);
    34     freopen("data.out","wb",stdout);
    35 }
    36 /**********************华丽丽的分割线,以上为模板部分*****************/
    37 #define N 600
    38 int map[N][N];
    39 int lowcost[N];
    40 int vis[N];
    41 int n;
    42 int ce;
    43 int maax;
    44 int dijstra()
    45 {
    46     int i,j,k=0;
    47     int cnt=0;
    48     int min;
    49     for(i=1; i<=n; i++)
    50     {
    51         lowcost[i]=map[1][i];
    52         vis[i]=0;
    53     }
    54     vis[1]=1;
    55     for(i=1; i<n; i++)
    56     {
    57         min=INF;
    58         for(j=1; j<=n; j++)
    59         {
    60             if (!vis[j]&&lowcost[j]<min)
    61             {
    62                  min=lowcost[j];
    63                  k=j;
    64             }
    65         }
    66         vis[k]=1;
    67         cnt+=min;
    68         for(j=1;j<=n;j++)
    69             if(!vis[j]&&lowcost[j]>map[k][j])
    70                 lowcost[j]=map[k][j];
    71     }
    72     return cnt;
    73 }
    74 int main()
    75 {
    76    // int cas;
    77    // scanf("%d",&cas);
    78     while(scanf("%d",&n)!=EOF)
    79     {
    80         int i,j;
    81         for(i=0;i<=N;i++)
    82             for(j=0;j<=N;j++)
    83                 map[i][j]=INF;
    84         int x;
    85         for(i=1;i<=n;i++)
    86         {
    87             for(j=1;j<=n;j++)
    88             {
    89                 scanf("%d",&x);
    90                 map[i][j]=x;
    91             }
    92         }
    93         maax=dijstra();
    94         printf("%d
    ",maax);
    95     }
    96     return 0;
    97 }
    View Code
    屌丝终有逆袭日,*******。
  • 相关阅读:
    iSeries存储过程笔记
    最近做得的网站
    两个iSeries存储过程的示例
    索引的怪异问题
    Saas的概念感触
    asp.net 2.0的TextBox遭遇ReadOnly=True时ViewState不回传的问题
    网上看到的一句诗
    DB2/400到Oracle的迁移
    如何往自己的网站增加Asp.net Ajax
    default关键字作用
  • 原文地址:https://www.cnblogs.com/ZhaoPengkinghold/p/3835018.html
Copyright © 2020-2023  润新知