【最小生成树】神母牛的实验
来源:互联网 发布:淘宝假发多少钱 编辑:程序博客网 时间:2024/06/04 18:44
3.神母牛的实验(experiment.pas/c/cpp)
【题目描述】
有一天神母牛爪子抓手机想做一个实验,这个实验呢,就是点亮小灯泡呐。
为了显示她的NewBe之处,她用了一块金属板来安装这些灯泡(这个金属板可以视为接地线),并且让这些灯泡随机分布。不过她似乎忘记了添加导线和电源- -、
于是神母牛爪子抓手机想到了这样两个个办法:
1、 直接给某个灯泡接上火线,这会消耗她一定的心情值,用V表示;
2、 将某两个灯泡用导线连接,这也会消耗她一定的心情值,用P表示;
如果神母牛爪子抓手机的心情过差,她就会到机房虐人……把人虐得死去活来。如果所有的灯泡没有全部被点亮,那么她的心情值会直接跌到临界值以下,她还是会来机房虐人,把人虐得死去活来……
这是大家都不希望看见的,所以,你需要找到一个方案,使所有的灯泡亮起来,并且为了自身安全着想,你要使神母牛爪子抓手机消耗的心情值尽量小,不然你就完了……
【输入格式】
输入文件experiment.in,第一行一个整数N,表示小灯泡总数,接下来有N行,表示直接给i号灯泡接火线消耗的心情值Vi,再接下来,一个N*N的矩阵,表示第i号灯泡与第j号灯泡之间连一根导线所消耗的心情值(保证有p[I,j]=p[j,i],当然,p[I,i]=0)
【输出格式】
输出文件experiment.out,只有一行,表示最小的心情值消耗
【样例输入】
4
5
4
4
3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0
【样例输出】
9
【数据范围】
对于100%的数据,0<N<=300。
简单题。加上一个超级源,到每个点连边,权值为连火线的代价,求最小生成树。
#include <cstdio>#include <string>#include <cstring>long dist[310];long map[310][310];bool used[310];long ans = 0;long getint(){long rs=0;bool sgn=1;char tmp;do tmp = getchar();while (!isdigit(tmp)&&tmp-'-');if (tmp=='-'){tmp=getchar();sgn=0;}do rs=(rs<<3)+(rs<<1)+tmp-'0';while (isdigit(tmp=getchar()));return sgn?rs:-rs;}long n;void prim(){for (long i=1;i<n+1;i++){dist[i] = map[n][i];}used[n] = true;for (long l=1;l<n;l++){long nearest = 0x7f7f7f7f;long k = 0;for (long i=1;i<n+1;i++){if (dist[i] < nearest && !used[i]){k = i;nearest = dist[i];}}ans += nearest;used[k] = true;for (long i=1;i<n+1;i++){if (!used[i] && dist[i]>map[k][i]){dist[i] = map[k][i];}}}}int main(){freopen("experiment.in","r",stdin);freopen("experiment.out","w",stdout);n = getint();for (long i=1;i<n+1;i++){map[n+1][i] = getint();}for (long i=1;i<n+1;i++){for (long j=1;j<n+1;j++){map[i][j] = getint();}}n++;prim();printf("%ld",ans);return 0;}
- 【最小生成树】神母牛的实验
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- 数据结构实验之图论九:最小生成树
- sdutoj 3362 数据结构实验之图论六:村村通公路(最小生成树(裸的))
- http://hi.baidu.com/wanyujun/item/435822137022a7011894ec80
- W5300E01-ARM用户手册版本1.0(四)
- ui designer tools collection
- 50个对电子商务零售商有价值的建议
- 【转】经典的01背包问题
- 【最小生成树】神母牛的实验
- 编程珠玑第十二章 生成有序随机序列
- How To Access Forms Directly In Oracle Applications R12 [ID 552301.1]
- HDU 1525 Euclid's Game (博弈)
- POJ 2773 欧拉函数, 素数表
- Hdu 2222 [AC自动机]
- 移动平台的产品设计世界
- I2S总线协议 .
- HDU OJ 4334 Trouble 【hash】