poj 2705 Tangled in Cables 基础prim
基础prim
#include<iostream>
using namespace std;
char a[2000][25];
int n,m;
char ta[25],tb[25];
double map[1509][1509];
bool vis[2000];
double dis[2000];
double prim()
{
double sum;
for(int i=1;i<=n;i++)
{
double cf=9999999.0;//特别注意啊!!这个我已开始就用0x7FFFFFFF了,就是wa,拉无语了,最后改成小数就过了!!!
int temp;
for(int j=1;j<=n;j++)
{
if(!vis[j]&&dis[j]<cf)
{
cf=dis[j];
temp=j;
}
}
if(cf==9999999.0)
cf=0;
sum+=cf;
vis[temp]=true;
for(int j=1;j<=n;j++)
{
if(!vis[j]&&dis[j]>map[temp][j])
dis[j]=map[temp][j];
}
}
return sum;
}
int main()
{
// cout<<"haha\n";
// system("pause");
double l,tc;
while(scanf("%lf",&l)!=EOF)
{
memset(vis,false,sizeof(vis));
memset(map,9999999.0,sizeof(map));
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%s",a[i]);
}
scanf("%d",&m);
while(m--)
{
scanf("%s%s%lf",ta,tb,&tc);
int tempa,tempb;
for(int i=1;i<=n;i++)
{
if(strcmp(ta,a[i])==0)
tempa=i;
if(strcmp(tb,a[i])==0)
tempb=i;
}
map[tempa][tempb]=map[tempb][tempa]=tc;
}
for(int i=1;i<=n;i++)
dis[i]=map[1][i];
vis[1]=true;
double t=prim();
if(t<=l)
printf("Need %.1lf miles of cable\n",t);
else
printf("Not enough cable\n");
}
return 0;
}
poj 2705 Tangled in Cables 基础prim相关推荐
- 【最小生成树专题】POJ 2075 Tangled in Cables
POJ 2075 Tangled in Cables 题目链接->http://poj.org/problem?id=2075 Time Limit: 1000MS Memory Limit ...
- POJ 2075 Tangled in Cables
也比较水:Hash+最小生成树,我用的是Prim:好的是我有复习了一下Hash View Code #include <stdio.h>#include <string.h># ...
- POJ 2075 Tangled in Cables (c++/java)
http://poj.org/problem?id=2075 题目大意: 给你一些人名,然后给你n条连接这些人名所拥有的房子的路,求用最小的代价求连接这些房子的花费是否满足要求. 思路: 昨天20分钟 ...
- 百练/ 北京大学2016研究生推免上机考试(校外)G: Tangled in Cables(最小支撑树)
题目来源:http://bailian.openjudge.cn/practice/2075/ 2075:Tangled in Cables 总时间限制:1000ms 内存限制: 65536kB 描 ...
- 百练2075:Tangled in Cables题解
2075:Tangled in Cables 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 You are the owner of SmallCa ...
- poj 3026 BorgMaze 最小生成树Kruskal、Prim(Prim VS报错待解决
题意 以及 思路: 从S点有一伙人出发去消灭A点的敌人,在S点或者A点可以分裂成几个小队然后分别走,这样路径=总队路径+各个小队路径 问你怎样路径最短. 在一个y行 x列的迷宫中,有可行走的通路空格' ...
- poj 1789 TruckHistory 最小生成树 Kruskal、Prim
题意: n个车牌号,刚开始只有一个车牌,其他车牌都是由一个车牌直接或间接产生,一个车牌到另一个车牌的产生权值是它们之间的数字不同的个数,问产生的最小的边权和,即求最小生成树. Input: 多组数据. ...
- HDU 1863 (图论基础prim算法)
问题描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公 ...
- POJ 2976 01分数规划基础题目
题意: 给你一组"数",一共n个,每个数有两个权值,价钱a[i],代价b[i],让你选择n - k使得 sigma(a[i]) / sigma(b[i]) * 100 ...
- POJ 图论分类 + DP(较全 自己又加了点)
DP -----------动态规划 状态压缩DP 2411 (棋盘规模较大)状态压缩DP+DFS+滚动数组 2664 (棋盘规模较小)直接递推即可(DP) 2506 (棋盘规模较小)直接递推即可(D ...
最新文章
- python第五单元答案_中国大学MOOC第五单元测试答案_数据结构与算法Python版慕课答案在哪里可以看...
- 数据中心太废电?为省电费阿里和微软是这么做的....
- 2020-10-30(APK-逆向2)
- 详解3D物体检测模型: Voxel Transformer for 3D Object Detection
- SpringMVC接收哪些类型参数参数
- 2019春季发布会后苹果股价一度跌逾2% 盘后微涨0.22%
- 机器学习与计算机视觉(计算机视觉的嵌入式平台)
- 怪物之心无法触发_《勇者斗恶龙 怪兽篇:旅团之心》怪物生方法及生规则研究 - 电玩巴士...
- eclipse 安装 阿里代码规范检测插件
- 计算机报名照片 1寸,国考录用系统2021国家公务员考试报名照片尺寸是1寸还是2寸?...
- 多网卡时如何使用源地址ping目的地址,检测网络连通性。
- 关于导入百度导航SDK报错以及解决方案
- 测试-- 自动化测试selenium(关于API)
- LANDESK8.8版本操作说明书
- 单卡3090可得专属ChatGPT:使用LoRA+ChatGLM
- SATA系列专题之五:Link Power Management解析
- 2007年9月19日
- python在园林中的应用_浅析亭在园林中的应用
- CornerStone —— 医学影像显示的JavaScript库简介
- 我的世界服务器进入显示器,关于minecraft:使用屏幕的系统服务:“未找到屏幕会话”...