题目描述

农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。当然,他将付出额外的费用在奶牛上。

农夫John很狡猾。像以前的Pavlov,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声,以至他可以在晚上挤奶。

农夫John知道每只奶牛都在各自喜欢的牧场(一个牧场不一定只有一头牛)。给出各头牛在的牧场和牧场间的路线,找出使所有牛到达的路程和最短的牧场(他将把糖放在那)

输入输出格式

输入格式:

第一行: 三个数:奶牛数N,牧场数(2<=P<=800),牧场间道路数C(1<=C<=1450)

第二行到第N+1行: 1到N头奶牛所在的牧场号

第N+2行到第N+C+1行: 每行有三个数:相连的牧场A、B,两牧场间距离D(1<=D<=255),当然,连接是双向的

输出格式:

一行 输出奶牛必须行走的最小的距离和

输入输出样例

输入样例#1:

3 4 5
2
3
4
1 2 1
1 3 5
2 3 7
2 4 3
3 4 5
输出样例#1:

8

说明

{样例图形

          P2
P1 @--1--@ C1
         |
         |
       5  7  3
         |
         |     C3
       C2 @--5--@
          P3    P4

} {说明:

放在4号牧场最优

}

分析

Oops! 你的分析出现了一些问题,需要在这儿省略.

 已完成  1%                                                : (

请查阅代码:  0x8888888

 #include<iostream>
 #include<cstdio>
 #include<algorithm>
 #include<cstring>
 #include<queue>
 #include<vector>
 #include<functional>
 #define maxn 800+10
 #define inf 0x3f3f3f3f

 int n,p,c,i,j,x,y,t,ans=inf,tot,u;
 int a[maxn][maxn],w[maxn][maxn];
 *maxn];
 bool inq[maxn];
 int main() {
 fuction_init:
     {
         scanf("%d%d%d",&n,&p,&c);
         ;i<=p;i++) {
             b[i]=;
             num[i]=;
             ;j<=p;j++) w[i][j]=inf;
         }
         ;i<=n;i++)
             scanf("%d",&b[i]);
         ;i<=c;i++) {
             scanf("%d%d%d", &x, &y, &t);
             w[x][y]=w[y][x]=t;
             a[x][++num[x]]=y;
             a[y][++num[y]]=x;
         }
     }
 fuction_spfa:
     {
         ans=inf;
         ;i<=p;i++){
             ; j <= p; j++) dis[j] = inf;
             memset(team,,sizeof team);
             memset(inq,false,sizeof inq);
             dis[i]=,inq[i]=true;
             std::queue<int>q; q.push(i);
             while(!q.empty()) {
                 u=q.front();q.pop();
                 inq[u]=false;
                 ;j<=num[u];j++) {
                     int r=a[u][j];
                     if(dis[r]>dis[u]+w[u][r]) {
                         dis[r]=dis[u]+w[u][r];
                         if(!inq[r]) {
                             inq[r]=true;
                             q.push(r);
                         }
                     }
                 }
             }
             tot=;
             ;j<=n;j++) tot+=dis[b[j]];
             ans=std::min(ans,tot);
         }
         printf("%d\n",ans);
     }
 }

[最短路]P1828 香甜的黄油 Sweet Butter的更多相关文章

  1. P1828 香甜的黄油 Sweet Butter 最短路 寻找一个点使得所有点到它的距离之和最小

    P1828 香甜的黄油 Sweet Butter 闲来无事 写了三种最短路(那个Floyed是不过的) 题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1 ...

  2. 洛谷P1828 香甜的黄油 Sweet Butter

    P1828 香甜的黄油 Sweet Butter 241通过 724提交 题目提供者JOHNKRAM 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 我的SPFA为什么TLE.. 为 ...

  3. P1828 香甜的黄油 Sweet Butter

    对于这道洛谷ac而我整了一下午的codevs的题,我也是很绝望啊. 原因是队列数组开小了我勒个去???我说STL怎么能过 题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧 ...

  4. [LUOGU] P1828 香甜的黄油 Sweet Butter

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...

  5. P1828 香甜的黄油 Sweet Butter (spfa)

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...

  6. 【香甜的黄油 Sweet Butter】

    [香甜的黄油 Sweet Butter] 洛谷P1828 https://www.luogu.org/problemnew/show/P1828 JDOJ 1803 https://neooj.com ...

  7. 洛谷 P1828 【香甜的黄油 Sweet Butter】

    这道题应该就是模板题了吧qwq. 统计每一个牧场的放糖的情况,选择最优的即可 有亿点水的绿题. #include <bits/stdc++.h> using namespace std; ...

  8. P1828 [USACO3.2]香甜的黄油 Sweet Butter

    题目描述 农夫$John$发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道$N(1\leqslant N\leqslant 500)$只奶牛会过来舔它,这样就能做出能卖好价钱的超甜 ...

  9. 洛谷 题解 P1828 【香甜的黄油 Sweet Butter】

    潇洒の开始 第一步:食用头文件和定义变量, 变量干什么用的说的很清楚 #include<iostream> #include<cstdio> #include<cstri ...

随机推荐

  1. AspectCore.Extension.Reflection : .NET Core反射扩展库

    在从零实现AOP的过程中,难免会需要大量反射相关的操作,虽然在.net 4.5+/.net core中反射的性能有了大幅的优化,但为了追求极致性能,自己实现了部分反射的替代方案,包括构造器调用.方法调 ...

  2. win10 输入法禁用IME

    发现了win10 没法输入,因为禁用IME 右击开始 计算机管理  任务计划程序 打开到Microsoft/Windows/TextServicesFramework  选择操作运行  选择如果任务失 ...

  3. win10 uwp 上传Nuget 让别人用我们的库

    Nuget 我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nu ...

  4. 多线程之Map:Hashtable HashMap 以及ConcurrentHashMap

    1.Map体系参考:http://java.chinaitlab.com/line/914247.htmlHashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.syn ...

  5. C# To C++ Converter Cracked ( 破解版 )

    C# To C++ Converter v17.10.2 Cracked By X-Cracker 简介 C# To C++ Converter是一款将C#代码或者项目转换为C++的工具 免费版本一次 ...

  6. (转) Redis学习教程--基本命令

    原文出自:http://www.cnblogs.com/woshimrf/p/5198361.html 目录 全局操作:1.redis是key-value存储的,放在内存中,并在磁盘持久化的数据结构存 ...

  7. C#通过OpenCL调用显卡GPU做高效并行运算

    GPU的并行运算能力远超CPU,有时候我们会需要用到超大数据并行运算,可以考虑用GPU实现,这是一篇C#调用GPU进行运算的入门教程. 1: 下载相关的库: https://sourceforge.n ...

  8. 在vmware 中使用桥连接 连接到网络

    vMware虚拟机以后,连不上网,通过ifconfig命令,查看结果,如图所示: 然后,我想尝试一下,在虚拟机中ping 本地物理机地址,结果如图. 总结起来,主要有4步: 1.使用chkconfig ...

  9. MySql采用GROUP_CONCAT合并多条数据显示的方法

    情况分析: 1. 表course id     name 1      课程一 ================= 2.表course_teacher id   course_id  teacher_ ...

  10. IIC协议建模——读写EEPROM

    案例采用明德扬设计思想完成.IIC协议是非常常用的接口协议,在电子类岗位招聘要求中经常出现它的身影.关于IIC协议这里只做简要介绍,详细信息请自行百度或查阅相关Datasheet,网上资料非常多.该篇 ...