markdown 在线制作ppt json校验和格式化工具

POJ 2421

 1 #include<iostream>
 2 #include<stdio.h>
 3 #define MAXN 500
 4 #define inf 100000000
 5 using namespace std;
 6 int pre[MAXN];
 7 int _m[MAXN][MAXN];
 8 int low_cost[MAXN];
 9 int edge[8000][2];
10 int q;
11 int w;
12 int prime(int n);
13 int main()
14 {
15     //freopen("acm.acm","r",stdin);
16     int num;
17     int i;
18     int j;
19     int u;
20     int v;
21     cin>>num;
22     for(i = 0; i < num; ++ i)
23     {
24         for(j = 0; j < num; ++ j)
25         {
26             cin>>_m[i][j];
27         }
28     }
29     cin>>q;
30     for(i = 0; i < q; ++ i)
31     {
32         cin>>u>>v;
33         -- u;
34         -- v;
35         _m[u][v] = -1;
36         _m[v][u] = -1;
37     }
38     w = 0;
39     cout<<prime(num) + w<<endl;
40 }
41 
42 int prime(int n)
43 {
44     int i;
45     int j;
46     int k;
47     int sum = 0;
48     int min;
49     for(i = 1; i < n; ++ i)
50     {
51         low_cost[i] = _m[0][i];
52         pre[i] = 0;
53     }
54     for(i = 1; i < n; ++ i)
55     {
56         min = inf;
57         for(j = 1; j < n; ++ j)
58         {
59             if(low_cost[j]&&low_cost[j] < min)
60             {
61                 k = j;
62                 min = low_cost[j];
63             }
64         }
65         if(low_cost[k] == -1)
66             ++ w;
67         sum += low_cost[k];
68         low_cost[k] = 0;
69         for(j = 1; j < n; ++ j)
70         {
71             if(_m[k][j] < low_cost[j] && low_cost[j])
72             {
73                 low_cost[j] = _m[k][j];
74                 pre[j] = k;
75             }
76         }
77     }
78     return sum;
79 }

 

posted @ 2015-06-11 11:00  GavinHacker  阅读(149)  评论(0编辑  收藏  举报
markdown 在线制作ppt json校验和格式化工具