poj 1258 Agri-Net 解题报告
题目链接:http://poj.org/problem?id=1258
题目意思:给出 n 个 farm,每个farm 之间通过一定数量的fiber 相连,问使得所有farm 直接或间接连通的 最少 fiber 数是多少。
赤裸裸的最小生成树,用prim做的。
有个地方写错,wa 了 几次。
#include <iostream>
#include <cstdio>
using namespace std; const int farm_num = + ;
const int INF = 1e9;
int farm[farm_num][farm_num];
int dist[farm_num], vis[farm_num];
int ans, N; void prim()
{
int k;
for (int i = ; i <= N; i++)
{
vis[i] = ;
dist[i] = INF;
}
// 假设从编号为 1 的farm 出发
dist[] = , ans = ;
for (int i = ; i <= N; i++)
{
int tmp = INF;
for (int j = ; j <= N; j++)
{
if (!vis[j] && dist[j] < tmp)
{
tmp = dist[j];
k = j;
}
}
vis[k] = ;
ans += tmp;
for (int j = ; j <= N; j++)
{
if (!vis[j] && dist[j] > farm[k][j]) // 一开始将dist[j] > farm[k][j]直接写成farm[k][j]了= =
dist[j] = farm[k][j];
}
}
} int main()
{
while (scanf("%d", &N) != EOF)
{
for (int i = ; i <= N; i++)
{
for (int j = ; j <= N; j++)
scanf("%d", &farm[i][j]);
}
prim();
printf("%d\n", ans);
}
return ;
}
poj 1258 Agri-Net 解题报告的更多相关文章
- Tarjan算法求解桥和边双连通分量(附POJ 3352 Road Construction解题报告)
http://blog.csdn.net/geniusluzh/article/details/6619575 在说Tarjan算法解决桥和边双连通分量问题之前我们先来回顾一下Tarjan算法是如何 ...
- POJ 3126 Prime Path 解题报告(BFS & 双向BFS)
题目大意:给定一个4位素数,一个目标4位素数.每次变换一位,保证变换后依然是素数,求变换到目标素数的最小步数. 解题报告:直接用最短路. 枚举1000-10000所有素数,如果素数A交换一位可以得到素 ...
- 【原创】poj ----- 2376 Cleaning Shifts 解题报告
题目地址: http://poj.org/problem?id=2376 题目内容: Cleaning Shifts Time Limit: 1000MS Memory Limit: 65536K ...
- 【原创】poj ----- 1611 The Suspects 解题报告
题目地址: http://poj.org/problem?id=1611 题目内容: The Suspects Time Limit: 1000MS Memory Limit: 20000K To ...
- 【原创】poj ----- 2524 Ubiquitous Religions 解题报告
题目地址: http://poj.org/problem?id=2524 题目内容: Ubiquitous Religions Time Limit: 5000MS Memory Limit: 6 ...
- [POJ 1002] 487-3279 C++解题报告
487-3279 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 228365 Accepted: 39826 D ...
- [POJ 1001] Exponentiation C++解题报告 JAVA解题报告
Exponentiation Time Limit: 500MS Memory Limit: 10000K Total Submissions: 126980 Accepted: 30 ...
- poj 2389.Bull Math 解题报告
题目链接:http://poj.org/problem?id=2389 题目意思:就是大整数乘法. 题目中说每个整数不超过 40 位,是错的!!!要开大点,这里我开到100. 其实大整数乘法还是第一次 ...
- poj 2421 Constructing Roads 解题报告
题目链接:http://poj.org/problem?id=2421 实际上又是考最小生成树的内容,也是用到kruskal算法.但稍稍有点不同的是,给出一些已连接的边,要在这些边存在的情况下,拓展出 ...
- poj 1611 The Suspects 解题报告
题目链接:http://poj.org/problem?id=1611 题意:给定n个人和m个群,接下来是m行,每行给出该群内的人数以及这些人所对应的编号.需要统计出跟编号0的人有直接或间接关系的人数 ...
随机推荐
- msp430项目编程40
msp430综合项目---多路温度检测系统40
- Phantomjs和Casperjs,后台网页抓取和交互
var casper = require('casper').create({ verbose: true, logLevel: 'debug', pageSettings: { loadImages ...
- set_include_path() &&get_include_path()用法
function initialize(){ set_include_path(get_include_path().PATH_SEPARATOR . "core/"); ...
- Codevs1062路由选择
/* #include<iostream> #include<cstdio> #include<cstring> #define MAXN 301 using na ...
- Unix操作系统LD_PRELOAD简介
http://blog.csdn.net/ieearth/article/details/49952047 Unix操作系统的动态链接库的知识中,这个功能主要就是用来有选择性的载入Unix操作系统不同 ...
- Go -- 通过GOTRACEBACK生成程序崩溃后core文件的方法(gcore gdb)
写一个错误的c程序 package dlsym import "testing" func Test_intercept(t *testing.T) { Intercept(& ...
- [Javascript] Convert a Callback-Based JavaScript Function to a Promise-Based One
Sometimes, you might want to convert a JavaScript function that accepts a callback to one that retur ...
- android-auto-scroll-view-pager
https://github.com/eltld/android-auto-scroll-view-pager
- (转)OutOfMemory时抓取heap 快照
转自:https://testerhome.com/topics/579 首先说一下,在程序没有崩溃的时候如何抓取heap快照.这个大家应该都知道,在ddms中自带此功能. 见上图首先我们选中一个 ...
- 格式转换至yuv422转 yuv420
//pYUV为422,yuv为420 /*ok! * brief:pyuv is yuv422sp srcIn, and yuv is yuv420p desOut */ int YUV422To4 ...