1006

题意:

给出城市以及之间的权值,求最小生成树

思路:prim算法即可

代码:

#include<iostream>
#include<algorithm>
using namespace std;
char p[1000];
int n,k;
struct road
{
char s,e;
int w;
}r[1000];
bool cmp(road a,road b)
{ return a.w<b.w; }

char find(char x)
{ return p[x]==x?x:p[x]=find(p[x]); }
int kru()
{
int sum=0;
for(int i=0;i<k;i++)
{
char x=find(r[i].s),y=find(r[i].e);
if(x!=y)
{
p[x]=y;
sum+=r[i].w;
}
}
return sum;
}
int main()
{
while(cin>>n&&n)
{
char rs,re;
int m,rw;
k=0;
n--;
while(n--)
{
cin>>rs>>m;
while(m--)
{
cin>>re>>rw;
r[k].s=rs;
r[k].e=re;
r[k].w=rw;
k++;
}
}
for(char i=‘A‘;i<=‘Z‘;i++)
p[i]=i;
sort(r,r+k,cmp);
cout<<kru()<<endl;
}
return 0;
}
时间: 2024-10-24 19:17:55

1006的相关文章

PAT 1006 换个格式输出 C语言

让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个"百".3个"十".以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出格式:每个测试用例的输出占一行,用规定的格式输出n. 输入样例1: 234 输出样例1: BBSSS1

TypeError: Error #1006: value 不是函数。

1.错误原因 TypeError: Error #1006: value 不是函数. at BasicChart/dataFunc()[E:\Flash Builder\Map\src\BasicChart.mxml:68] at mx.charts.chartClasses::Series/cacheDefaultValues()[E:\dev\4.0.0\frameworks\projects\datavisualization\src\mx\charts\chartClasses\Seri

解决openstack “failed to connect to server (code: 1006)”故障一例

openstack版本环境:ocata 安装完成ocata版本后,新建主机实例后,通过管理端进入主机实例的控制台时,报错:"failed to connect to server (code: 1006)" 解决思路: 1.检查日志文件,通过日志寻找原因. tail -f /var/log/nova/nova-novncproxy.log 发现连接5900时出现"Name or service not known" 2017-05-17 17:01:43.994 7

问题 1006: C语言程序设计教程(第三版)课后习题5.4

/******************************************************************** @file Main.cpp @date 2017-05-07 @author Zoro_Tiger @brief 问题 1006: C语言程序设计教程(第三版)课后习题5.4 http://www.dotcpp.com/oj/problem1006.html *************************************************

生理周期,POJ(1006)

题目链接:http://poj.org/problem?id=1006 解题报告: 1.枚举天数的时候可以根据前面的结果直接跳过一些错误的答案. ///三个周期是23,28,33, #include <stdio.h> int main() { int p,e,i,d,Case=1; while(scanf("%d%d%d%d",&p,&e,&i,&d),p!=-1) { int t1=p%23,t2=e%28,t3=i%33;///三个周期

solution for 1006 中国剩余定理

一.要求 http://poj.org/problem?id=1006 Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 124113   Accepted: 39154 Description Some people believe that there are three cycles in a person's life that start the day he or she is born.

【BZOJ】1006 神奇的国度

[解析]完美消除序列+染色 [Analysis] 由题知他们的关系构成一个弦图,所以求出完美消除序列一定是成立的. 先求出,然后根据序列来染色,尽可能染小的. 其实时间戳那里用个线段树+二分好像也不错,甚至树状数组都可以,因为元素的变化是单调的... 在此给出证明: 首先进行以下的定义: 团数:最大团的大小. 色数:染色最少用的颜色. ∵团中颜色要两两不同 ∴团数<=色数 ∵我们对序列的染色共染了t种颜色且这样的染色是合法的,但是暂时不能保证最少. ∴t>=色数. 又∵我们的染色方法是贪心的,

1006. 换个格式输出整数

1006. 换个格式输出整数 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个“百”.3个“十”.以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出格式:每个测试用例的输出占一

1006 小明与隔壁老王之间不得不说的故事

1006: 小明与隔壁老王之间不得不说的故事 时间限制: 1 Sec  内存限制: 128 MB提交: 355  解决: 152[提交][状态][讨论版] 题目描述 有一天,小明想偷吃隔壁老王院子里苹果树上的苹果. 但是,老王家有一条哈士奇,每隔一定时间就会吼叫.准确的说,它会在一个时间点吼叫第一次,之后每隔一段时间吼叫两次,比如第一次吼叫是在 t 时刻,间隔为 s,则吼叫时间点为 t, t + s, t + s + 1, t + 2s, t + 2s + 1 等. 小明是个要面子的人,不想被这

poj 1006 生理周期

题目链接:http://poj.org/problem?id=1006 题意:中文题. 中国剩余定理: 1 #include <cstdio> 2 #include <cmath> 3 4 using namespace std; 5 6 int main() 7 { 8 int p,e,i,d; 9 int Case=1; 10 int lcd = 21252; 11 while(scanf("%d%d%d%d",&p,&e,&i,&a