普里姆

本文深入探讨了普里姆算法,一种用于找到图中最小生成树的经典算法。通过逐步构建最小生成树,该算法确保连接所有顶点的同时,权值总和达到最小。普里姆算法广泛应用于网络设计、交通规划等领域,有效解决资源优化问题。
摘要由CSDN通过智能技术生成
package Y2018;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
题目的背景:
	John 的农场缺水!
	题目描述:农民 John 决定将水引入到他的 n(1≤n≤300)个牧场。
	他准备通过挖若干井,并在各块田中修筑水道来连通各块田地以供水。
	在第 i 号田中挖一口井需要花费 W_(i 1≤W_i≤100000)元。
	链接 i 号田与 j 号田需要P_ij(1≤P_ij≤100000,P_ji=P_ij)元。
	请求出农民 John 需要为连通整个牧场的每一块田地所需要的钱数。

输入格式:
	第 1 行为一个整数 n
	第 2 行到 n+1 行每行一个整数,从上到下分别为 W_i 到 W_n。
	第 n+2 到 2n+1 行为一个矩阵,表示需要的经费(P_ij)。
输出格式:
	只有一行,为一个整数,表示所需要的钱数。
 */
public class Main {
	
	private static int n;//农场数
	private static int[] farm = new int[310];//农场费用
	private static int[][] pipe = new int[310][310];//水管费用
	
	private static boolean[] used = new boolean[310];//默认false,记录已经用过的点
	private static List<Integer> points = new ArrayList<>();//存入已经用过的点
	
	private static int minM = 0;//最小费
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值