栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1406 Jungle Roads

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1406 Jungle Roads

#include <stdio.h>#include <iostream>#include <memory.h>using namespace std;#define INF 1<<30int map[27][27];int dij[27];int prim(int start,int n);int input(int n);int main(void){int n;while(cin>>n && n){input(n);printf("%dn",prim(0,n));}return 0;}int input(int n){int len,num;char a,b;for(int i=0;i<n;++i){for(int j=0;j<n;++j)map[i][j]=INF;map[i][i]=INF;dij[i]=INF;}for(int i=0;i<n-1;++i){cin>>a>>num;a-='A';for(int j=0;j<num;++j){cin>>b>>len;b-='A';map[a][b]=map[b][a]=len;}}return 0;}int prim(int start,int n){int visit[27];memset(visit,0,sizeof(visit));int now=start;visit[now]=1;dij[now]=0;for(int i=0;i<n;++i){int mini(INF);for(int j=0;j<n;++j)if(!visit[j] && map[now][j]<INF && dij[j]>map[now][j])dij[j]=map[now][j];for(int j=0;j<n;++j)if(!visit[j] && dij[j]<mini)mini = dij[now=j];visit[now]=1;}int sum(0);for(int i=0;i<n;++i)sum+=dij[i];return sum;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号