USACO Section 3.1 Agri-Net - [水]最小生成数模板题

赤果果的最小生成树...于是就用Prim水了...


Program:

/* ID: zzyzzy12 LANG: C++ TASK: agrinet */ #include<iostream> #include<istream> #include<stdio.h> #include<string.h> #include<math.h> #include<stack> #include<algorithm> #include<queue> #define oo 2000000000 #define ll long long using namespace std; int n,arc[105][105]; int Prim() { bool used[105]; int i,k,j,m,p,ans=0; memset(used,false,sizeof(used)); used[1]=1; for (k=1;k<n;k++) { m=100000; for (i=1;i<=n;i++) for (j=1;j<=n;j++) if (used[i] && !used[j] && m>arc[i][j]) { m=arc[i][j]; p=j; } used[p]=true; ans+=m; } return ans; } int main() { freopen("agrinet.in","r",stdin); freopen("agrinet.out","w",stdout); scanf("%d",&n); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) scanf("%d",&arc[i][j]); printf("%d\n",Prim()); return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值