POJ 2421

 #include<iostream>
#include<stdio.h>
#define MAXN 500
#define inf 100000000
using namespace std;
int pre[MAXN];
int _m[MAXN][MAXN];
int low_cost[MAXN];
int edge[][];
int q;
int w;
int prime(int n);
int main()
{
//freopen("acm.acm","r",stdin);
int num;
int i;
int j;
int u;
int v;
cin>>num;
for(i = ; i < num; ++ i)
{
for(j = ; j < num; ++ j)
{
cin>>_m[i][j];
}
}
cin>>q;
for(i = ; i < q; ++ i)
{
cin>>u>>v;
-- u;
-- v;
_m[u][v] = -;
_m[v][u] = -;
}
w = ;
cout<<prime(num) + w<<endl;
} int prime(int n)
{
int i;
int j;
int k;
int sum = ;
int min;
for(i = ; i < n; ++ i)
{
low_cost[i] = _m[][i];
pre[i] = ;
}
for(i = ; i < n; ++ i)
{
min = inf;
for(j = ; j < n; ++ j)
{
if(low_cost[j]&&low_cost[j] < min)
{
k = j;
min = low_cost[j];
}
}
if(low_cost[k] == -)
++ w;
sum += low_cost[k];
low_cost[k] = ;
for(j = ; j < n; ++ j)
{
if(_m[k][j] < low_cost[j] && low_cost[j])
{
low_cost[j] = _m[k][j];
pre[j] = k;
}
}
}
return sum;
}
上一篇:Xamarin.Android之UI Test简单入门


下一篇:大数据Spark+Kafka实时数据分析案例