ACM知识竞)赛 之 SDUT3034 炸学校(最短路Dijkstra)
炸学校
Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
于是就有一群小学生们商量着炸学校。要把本市的小学的都给炸掉。于是他们商量好了一个出发点source与集合点sink。然后有无数个小学生,n-2个学校,每个小学生都从出发点出发,负责背着一个炸弹,然后把炸弹偷偷放置在一个学校里,然后返回到集合点。
输入
第一行为一个整数T,表示T组测试数据。
第二行为整数n(3<=n<=1000),代表学校的数量(包括出发点和集合点),还有整数m(m<10^5),表示有多少条无向路。
然后接下来是m行,每一行的三个整数分别是u,v,t(0<=u,v, u!=v, 0<=t<=10^5)
然后给出两个整数source和sink,分别代表出发点和集合点。(0<=source,sink)。
输入数据保证可以炸毁所有学校,并且可以到达集合点。不保证没有重边。
输出:
输出
示例输入
1 5 5 1 0 1 1 2 3 1 3 3 4 2 2 3 4 1 4 2
示例输出
Case #1: 9
提示
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string>
#include <stdlib.h>
#include <queue>
#include <algorithm>
using namespace std;
const int MAX = 999999;
int a[1010][1010];
int b[1010],v[1010];
int flag;
int v1[1010];
int v2[1010];
int n,m;
void Dijkstra(int s)
{int k;memset(b,0,sizeof(b));for(int i=0; i<n; i++)v[i]=a[s][i];b[s]=1;v[s]=0;int min=0;for(int i=0; i<n-1; i++){min=MAX;for(int j=0; j<n; j++){if(!b[j]&& min > v[j]){min=v[j];k=j;}}if(min==MAX)break;b[k]=1;for(int j=0; j<n; j++){if(!b[j] && v[j] > v[k]+a[k][j]){v[j]=v[k]+a[k][j];}}}if(flag){for(int i=0;i<n;i++)v1[i]=v[i];}else{flag++;for(int i=0;i<n;i++)v2[i]=v[i];}}
int main()
{int T;scanf("%d",&T);for(int r=1; r<=T; r++){flag=0;memset(a,MAX,sizeof(a));for(int i=0;i<n;i++)a[i][i]=0;scanf("%d%d",&n,&m);for(int i=0; i<m; i++){int u,v,w;scanf("%d%d%d",&u,&v,&w);if(w<a[u][v]){a[u][v]=w;a[v][u]=w;}}int s,e;scanf("%d%d",&s,&e);Dijkstra(s);Dijkstra(e);int ans=-1;for(int i=0;i<n;i++){if(ans<v1[i]+v2[i])ans=v1[i]+v2[i];}printf("Case #%d: %d\n",r,ans);}return 0;
}
ACM知识竞)赛 之 SDUT3034 炸学校(最短路Dijkstra)相关推荐
- 2015年ACM长春区域赛比赛感悟
距离长春区域赛结束已经4天了,是时候整理一下这次比赛的点点滴滴了. 也是在比赛前一周才得到通知要我参加长春区域赛,当时也是既兴奋又感到有很大的压力,毕竟我的第一场比赛就是区域赛水平,还是很有挑战性的. ...
- 大专普通本科、搞算法的(蓝桥杯、ACM、天梯赛)-后续成长之路
2021年1月 1.首先要清楚算法究竟能为程序作出什么样的贡献: 请查阅:<[算法之美]改变世界的十位算法大师> url:https://blog.csdn.net/kexuanxiu11 ...
- 垃圾分类宣传教育——垃圾分类知识竞答活动小程序
<生活垃圾分类管理办法>(下称<办法>)日前公布,将于2021年10月1日起施行. <办法>的出台标志着我市生活垃圾分类工作进入法治化新阶段.<办法>的 ...
- 2021暨南大学轩辕杯ACM程序设计新生赛题解
title : 2021暨南大学轩辕杯ACM程序设计新生赛 date : 2021-12-12 tags : ACM,练习记录 author : Linno 题目链接:https://ac.nowco ...
- 退役了,总结的ACM近年区域赛的所有题型
前面的是退役小记,后面是我个人写近2年所有区域赛场次记录的题型(请忽略我记录的感受),可以留着看下最近的场次名称和原题在哪里有 目录 退役小记(没兴趣可以不看) 这里简单记下我的acm生涯 省赛和三场 ...
- 云南省电子计算机高级,计算机基础知识-云南省电子信息高级技工学校.ppt
计算机基础知识-云南省电子信息高级技工学校.ppt 第1章 信息与计算机基础知识 1.1 信息与计算机 1.2 计算机的发展与应用 1.3 计算机硬件系统 1.4 计算机软件系统 1.5 微机系统的安 ...
- 健康知识竞答线上活动方案——微信答题小程序实现
为不断提高业务水平和自身综合素质,强化专业知识的学习和理解.经总部研究决定,在我司范围内开展知识竞答线上活动,期待大家充分展示奋发向上.积极参与的精神状态,不断突破自我,始终保持学习的热情.具体方案如 ...
- SDUTOJ 3034 炸学校(dijkstra)
炸学校 Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 "小儿么小二郎,背着那炸弹炸学校,不怕那太阳晒,也不怕那风雨狂. ...
- SDUTOJ 3034 ——炸学校
题目描述 "小儿么小二郎,背着那炸弹炸学校,不怕那太阳晒,也不怕那风雨狂."估计这首歌我们大家都耳熟能详了. 于是就有一群小学生们商量着炸学校.要把本市的小学的都给炸掉.于是他们商 ...
最新文章
- wget指定目录下载以及其它的使用方式
- Memcache存储大数据的问题(大于1m)
- SQL Server 中系统视图sysobjects中type字段的说明
- Socket 套接字
- 聊聊高并发下库存加减那些事儿——“异步扣减库存”
- 有抱负/初级开发人员的良好习惯-避免使用的习惯
- tcp拥塞控制_面试必备TCP(四):拥塞控制
- Words For Today [2011-07-31]
- 南京林业大学883数据结构本校资料
- vss服务器状态失败_VSS常犯错误(转载)
- hihocoder 1257 Snake Carpet
- python爬虫豆瓣高分电影前一百部
- 工作感想——离开公司
- 为人处世之道,与君共勉!
- 物联网(IoT)行业的决策管理应用
- 美团云深度学习平台-快速开始
- 企业抖音号怎么运营矩阵?运营有何技巧?
- 香农编码的C++实现及求平均码长和编码效率
- 对于同源与非同源的理解
- 15.1 计算几何 (用海伦公式)——【三角形的面积】
热门文章
- 解决山石设备无法使用最新版chromeflash功能(91版本及以上)
- html 中写注释吗,html 注释
- cmd命令行下怎么切换目录 命令行改变目录
- C/C++黑魔法-三字母彩蛋
- oppo服务器暂时不可用,oppo手机网络连接不可用是怎么回事
- python 完全面向对象_python之面向对象
- 计算机中班音乐,【精品】中班音乐教案6篇
- 堆栈溢出:Stack overflow (参数: 0x0000000000000001, 0x0000005410A03FF8)
- 基于数据结构和C语言实现公交管理系统(含文档和代码)数据结构课程设计
- java错误代码1061_异常求解 小白