人活着系列之芳姐和芳姐的猪

Time Limit: 1000MS Memory limit: 65536K

题目描写叙述

芳姐特别喜欢猪,所以,她特意养了m个猪圈,顺便在k条无向边,每条边有都有起点v,距离.....芳姐和猪们约定好。每天去一个固定猪圈去吃饭。芳姐为了不累着她可爱的猪们,想知道全部的猪吃饭走的最短路程是多少?

输入

 第一行,猪的个数m(k(1<=k<=1200).(猪的编号为1..m)

N+1行N头猪所在的猪圈号第n+k+1行:u、1<=w<=255)

m个猪圈连通。

输出

 

演示样例输入

3 4 5
2
3
4
1 2 1
1 3 5
2 3 7
2 4 3
3 4 5

演示样例输出

8

提示


開始以为,崔老师坑我们,不是最短路,就打成了最小生成树。kurskal

感觉思路没错,没有的猪圈。就不加边。╮(╯▽╰)╭,挂了20遍。没过

错误代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
const int INF = 65535;
using namespace std;
struct node{
int u,v,w;
}edge[1300];
int n,m,father[610],l;
bool vis[610];
int cmp(const void *a ,const void *b)
{
struct node *X,*Y;
X = (struct node *)a;
Y = (struct node *)b;
return X->w - Y->w;
}
void init()
{
l = 0;
for(int i = 0;i<=m;i++)
father[i] = i;
}
int findx(int r)
{
int i ,j;
while(r!=father[r])
{
r= father[r];
}
i = r;
while(father[i]!=r)
{
j = father[i];
father[i] = r;
i = j;
}
return r;
}
void kruskal()
{
int ans = 0;
for(int i = 0;i<=l;i++)
{
int uu = findx(edge[i].u);
int vv = findx(edge[i].v);
// printf("%d->%d = %d\n",edge[i].u,edge[i].v,edge[i].w);
if(uu!=vv)
{
father[uu] = vv;
ans += edge[i].w;
}
}
printf("%d\n",ans);
}
int main()
{
int mm, a , b,c,k;
scanf("%d%d%d",&n,&m,&k);
init();
for(int i = 1;i<=m;i++)
vis[i] = 1; for(int i = 0;i<n;i++)
{
scanf("%d",&mm);
vis[mm] = 0;
}
for(int i = 0;i<k;i++)
{
scanf("%d%d%d",&a,&b,&c);
if(vis[a]==1 || vis[b]==1) continue; edge[l].u = a; edge[l].v = b; edge[l++].w = c;
}
qsort(edge,l,sizeof(edge[0]),cmp);
kruskal();
return 0;
}

AC


后台数据比較水

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#define INF 0x3f3f3f3f
using namespace std; int n,m,KKK;
int ma[651][651],a[400]; void init()
{
int i,j;
for(i=1; i<=m;i++)
{
for( j=1; j<=m; j++)
{
if(i==j) ma[i][j] = 0;
else ma[i][j]=INF;
}
}
}
int main()
{ int u,v,w,i,j,k;
scanf("%d%d%d",&n,&m,&KKK);
//puts("1");
init(); for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
} for(i = 0;i<KKK;i++)
{
scanf("%d%d%d",&u,&v,&w);
ma[u][v]=ma[v][u]=w;
} for( k=1; k<=m; k++)
{
for( i=1; i<=m; i++)
{
for( j=1; j<=m; j++)
{
if(ma[i][j] > ma[i][k] + ma[k][j])
{
ma[i][j] = ma[i][k] + ma[k][j];
}
}
}
} int sum , mi = INF;
for(i=1; i<=m; i++)
{
sum=0;
for(j=1; j<=n; j++)
{
sum += ma[i][a[j]];
}
if(sum < mi)
mi = sum;
} printf("%d\n",mi);
return 0;
} /*****************************

版权声明:本文博客原创文章。博客,未经同意,不得转载。

人活着系列Tanya和蔡健雅猪 (floyd)的更多相关文章

  1. 人活着系列之平方数 分类: sdutOJ 2015-06-22 17:10 7人阅读 评论(0) 收藏

    人活着系列之平方数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 偶然和必然?命运与意志?生与死?理性与情感?价值与非价值?在&quo ...

  2. SDUT OJ 之 人活着系列之寻找最完美的人生

    人活着系列之寻找最完美的人生 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 也许,人活着就是要尝试人世间的酸甜苦辣,喜怒哀乐,经 ...

  3. 人活着系列之芳姐和芳姐的猪(Floyd)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2929 这个题一方面数据水,另一方面就是思维水, ...

  4. sdut 2934 人活着系列之平方数 (完全背包变形)

    题目链接 分析:完全背包的变形,每一层的d[]数组代表这一层的这个数新加入以后所构成的val的种类. #include <iostream> #include <cstdio> ...

  5. 小P的故事——神奇的换零钱&&人活着系列之平方数

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2777&cid=1219 这题不会,看了别人的代码 #include <iostre ...

  6. 人活着系列之开会(Floy)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2930 题意:所有点到Z点的最短距离.因为岛名由 ...

  7. 人活系列Streetlights (秩)

    人活着系列之Streetlights Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 人活着假设是为了家庭,亲情----能够说是在这个世界上最温暖人心的, ...

  8. SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)

    人活着系列之Streetlights Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 人活着假设是为了家庭,亲情----能够说 ...

  9. HDU-4511 小明系列故事——女友的考验 floyd变种-标号递增最短路

    题意:给定N个点,现在要求出从1号点到N号点的最短路.题目给的限制条件就是对于某条路径是不能够走的,但是可以选择某段路径走,另外就是所走的路径的标号必须是递增的. 分析:由于给定的是一些列的坐标点,这 ...

随机推荐

  1. poj 2955 Brackets 括号匹配 区间dp

    题意:最多有多少括号匹配 思路:区间dp,模板dp,区间合并. 对于a[j]来说: 刚開始的时候,转移方程为dp[i][j]=max(dp[i][j-1],dp[i][k-1]+dp[k][j-1]+ ...

  2. ahks

    !+F11:: newStr := clipboard ;newStr := RegExReplace(newStr, "<[^>]*>", "&quo ...

  3. linux桥接模式下配置静态ip

    原文链接:http://blog.csdn.net/qq_37936542/article/details/79494993 一:桥接模式 VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的 ...

  4. Xcode7 不能使用http网络请求问题解决

    最近使用Xcode 7.0 写代码,发送网路请求提示:  App Transport Security has blocked a cleartext HTTP (http://) resource ...

  5. 小强的HTML5移动开发之路(41)——jqMobi中Side Menu实现(类似人人网)

    记得以前在做Native App的时候类似于人人网侧边滑动的效果非常的热,很多app仿照该效果进行开发,在jqMobi中也有类似的效果被称为Side Menu.下面我们来一步一步实现该效果. 首先新建 ...

  6. sparksql parquet 分区推断Partition Discovery

    网上找的大部分资料都很旧,最后翻了下文档只找到了说明 大概意思是1.6之后如果想要使用分区推断就要设置数据源的basePath,因此代码如下 java public class ParitionInf ...

  7. jdk8-collect

    toMap 常用方式 public Map<Long, String> getIdNameMap(List<Account> accounts) { return accoun ...

  8. 【codeforces 785C】Anton and Fairy Tale

    [题目链接]:http://codeforces.com/contest/785/problem/C [题意] 容量为n的谷仓,每一天都会有m个谷子入仓(满了就视为m);第i天 会有i只鸟叼走i个谷子 ...

  9. Spring 组cxf宣布webservice

    通过spring宣布webservice接口 spring jar包+cxf jar Java包 下列文件丢失jar包需要下载自己 项目结构 watermark/2/text/aHR0cDovL2Js ...

  10. 192M内存的VPS,安装Centos 6 minimal x86,无法安装node.js

    尝试了各种方法,始终安装不了node.偶然一次,安装了64位的Centos 6 minimal,竟然可以安装Node官网给出的命令安装node了,一切顺利.