#include "iostream"
#include "string"
#include "cstring"
#include "map"
using namespace std;
int dis[300][300];
int stdis[300];
int vis[300];
int n;
int _min;
int dijkstra(int s,int t){
memset(vis, 0, sizeof(vis));
for (int i=0; i<n; ++i) {
if(i==s){
stdis[i]=0;
}else{
stdis[i]=1000001;//初始化注意
}
}
int tt;
for (int i = 0; i < n; ++i)
{
_min=100000;tt=s//初始为起点
for (int j = 0; j < n; ++j)
{
if(!vis[j] && _min > stdis[j]){
_min=stdis[j];
tt=j;
}
}
vis[tt]=1;
for (int j=0;j<n; ++j) {
stdis[j]=min(dis[tt][j]+stdis[tt],stdis[j]);
}
}
if(vis[t]){
return stdis[t];
}else{
return -1;
}
}
int main(){
int c,r,d;
string s,t;
cin>>c;
while(c--){
cin>>r;
memset(dis, 0, sizeof(dis));
memset(stdis, 0, sizeof(stdis));
for(int i = 0;i < 205;++i)
for(int j = 0;j < 205;++j)
{if(i==j)dis[i][j] = 0;
else dis[i][j]=100000;
}//初始化需要注意⚠
map<string,int> mp;
n=0;
for (int i = 0; i < r; ++i)
{
cin>>s>>t>>d;
if(!mp.count(s)){
mp[s]=n++;
// cout<<mp[s]<<endl;
}if(!mp.count(t)){
mp[t]=n++;
// cout<<mp[t]<<endl;
}
dis[mp[s]][mp[t]]=d;
dis[mp[t]][mp[s]]=d;
}
cin>>s>>t;
if(s==t){
cout<<0<<endl;
}else{
cout<<dijkstra(mp[s],mp[t])<<endl;
}
}
}相关推荐
避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活
本文深入探讨了使用Cadence psspxf工具进行分频器PSRR仿真时常见的三大技术陷阱,包括扰动信号参数设置、收敛性优化和后处理信号提取。通过详细的参数推荐和实战技巧,帮助工程师避免仿真误差,提升PSRR分析效率与准确性,特别适用于16分频器等数字-模拟混合电路设计。
http://codeforces.com/contest/1197/problem/C
1197/problem/C 代码如下: #include <iostream> #include <stdio.h> #include <algorithm> using namespace std; int main(){ int n,k; int a[300000]; int dis[300000]; ...
深入解析Mifare Classic Crypto1认证流程与密钥交换机制
本文深入解析Mifare Classic Crypto1认证流程与密钥交换机制,详细介绍了Crypto1加密算法的工作原理、认证初始化阶段、随机数交换与密钥流生成过程,以及双向验证步骤。文章还分析了Mifare Classic的安全漏洞,包括随机数生成缺陷和密钥流恢复攻击,并提供了Proxmark3实战演示和防护建议。
最短路HDOJ1548
题目大意:这个电梯只有两个按钮“上”和“下”,当你处在i层时,按“上”时,它会带你去i+ki层,按“下”,则会去i-ki层,然后你按下按钮以后的所到达的层数不能超出电梯层数范围(比如你处在第一层(电梯总共有5层,k1 = 3, k2 = 3,k3 = 1,k4 = 2, k5 = 5),当你按“上”,你就到达了第四层,但你不能按“下”)。问:当你在A层时,你想去B层,你至少需要按多少次“上”和“下
如何使用windows搭建一个公网ftp/sftp服务器
在有公网ip的情况下,使用windows系统搭建一个ftp/sftp服务器会带来很多的方便,可以实现远程移动端的一键式访问,对于文件的备份、多设备的共享都十分的方便。然而网上许多的教程都是基于windows自带的iis搭建一个局域网ftp服务器,然而在搭建好后,我想要通过端口映射的方式实现在外网访问时,却发现连接不上的问题,感觉可能是因为windows家庭版的原因导致的。因此在查阅很多资料之后终于找到了一个公网ftp/sftp服务器的搭建方式,实测可用。这里把流程记录一下,做一个备忘录,也方便大家搭建。
营销反作弊之 异常行为分析模型(一),附带python代码
通过对用户行为进行深入的分析,识别出与常规模式不符的异常行为,可以有效检测并阻止虚假广告点击、刷单、点击欺诈等欺诈行为。本文将详细探讨营销反欺诈中异常行为分析的方法,介绍如何通过数据采集、清洗、行为建模与异常检测,准确识别潜在的欺诈行为,并提供 Python 实现代码示例。**监督学习 (Supervised Learning):**在标注数据的帮助下,训练机器学习模型使其能预测未知数据的结果。营销反欺诈异常行为分析的整体流程涉及多个环节,确保通过对用户行为的深入分析,及时识别潜在的欺诈行为。
Undefined function or method ' ' for input arguments of type 'double' ---错误解决办法
你如果要使用这个guo.m作为函数进行调用的话,那需要满足以下条件:1、在guo.m里面要写成function的格式function [output parmaters]=guo[input parameters]2、拥有这个function的m文件的文件名要与这个函数名称一致,意思就是文件名要为guo.m3、调用这个function的m文件要与guo.m处于同一工作目录下4、输入输出参数类型要与
【异常检测】【EfficientAD】论文简单梳理与代码实现
EfficientAD作为较近的一篇异常检测网络,主要还是从S-T网络入手,对齐进行了相关改进。修改特征提取器引入自动编码器hard loss以及惩罚项。
Matlab 出现Undefined function '' for input arguments of type 'double'.解决方案
To complete the installation, Open Matlab, then choose "File"->"Set Path"->"Add with Subfolders" and select the root path of your installation. As a result, all subfolders will be added to Matlab's pa
C#使用OpenCvSharp+微信模型识别多个二维码
本文介绍了一个基于OpenCvSharp和微信开源二维码检测器的多二维码识别项目。该项目通过C# WinForm实现,主要功能包括:加载图片、识别图片中的多个二维码并显示识别结果。核心代码使用了OpenCvSharp.WeChatQRCode类,通过预训练的caffe模型(detect.prototxt/detect.caffemodel和sr.prototxt/sr.caffemodel)进行二维码检测和解码。识别结果包括每个二维码的编号、内容及位置信息。项目适用于批量二维码识别场景,部署简单,识别效果良
VTK API 详解(134):vtkOBJWriter - 写入 OBJ 模型
是 VTK 中用于将数据写入 Wavefront OBJ 文件格式的类。OBJ 格式是广泛支持的 3D 网格模型格式,支持顶点、面和基本几何信息的保存,便于模型在多种三维软件间交换。
基于Dijsktra算法的最短路径求解
基于Dijsktra算法的最短路径求解 发布时间: 2017年10月30日 20:57 时间限制: 1000ms 内存限制: 128M 描述 一张地图包括n个城市,假设城市间有m条路径(有向图),每条路径的长度已知。给定地图的一个起点城市和终点城市,利用Dijsktra算法求出起点到终点之间的最短路径。 输入 多组数据,每组数据有m+3行。第一行为两个
PyTorch强化学习实战(1)——强化学习(Reinforcement Learning,RL)详解
在本节中,开始进入探索强化学习 (Reinforcement Learning, RL) 之旅,首先剖析了强化学习的独特之处及其与监督学习、无监督学习范式的关系。随后系统学习了强化学习的基础形式化框架及其内部关联机制,并深入讲解了马尔可夫过程 (Markov Process, MP)、马尔可夫奖励过程 (Markov Reward Process, MRP) 和马尔可夫决策过程 (Markov Decision Process, MDP),为后续学习奠定基础。
Sicily 1031. Campus
单源最短路(Dijkstra)。有以下几点需要注意: 1、用STL容器map来保存所有的结点(0~n)。 2、当询问的地点在map中没有出现过时,要分两种情况考虑:(1)两个地点一样,输出0(LZ在这里被坑了多次WA);(2)两个地点不同,只要有一个没出现过就输出-1。 3、保存结点与边的关系可以用邻接表或者矩阵都行,本文用的是矩阵(个人觉得比较方便,但是如果是稀疏图空间复杂度会高些)。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
Sicily 1031 Campus(单源最短路Dijkstra)
//邻接矩阵Dijkstra,得开始学用邻接表的方式来处理单源最短路问题 可以把复杂度提高到O(ElgE)//学会了map关联容器,十分强大的类#include#include#include#include//关联容器using namespace std;const int INF = 1000000;//定义无穷,注意不能太大,否则在更新结点过程中可能产生溢出
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
sicily 1031.Campus
djstra单源最短路径. #include #include #include #include #include #include using namespace std; const int MAXN = 1000005; int road[202][202]; bool used[202]; int minlength[202]; int number; int djst
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
Sicily 1031 Campus
大意就是求出两个地点的最短路。 简单的单源最短路问题,我用的是优先队列实现的dijkstra算法,离散数学教的~注意题目的陷阱,输入数据的坑就好啦。 #include #include #include #include #define MAXN 205 #define INF 100000000 using namespace std; int d[MAXN];
sicily 1031. Campus
#include<iostream> #include<vector> #include<map> #include<queue> #include<string> #include<cstring> using namespace std; const int MAXN = 205; const in...
Sicily---1031. Campus(最短路径)
题目如下:Description At present, Zhongshan University has 4 campuses with a total area of 6.17 square kilometers sitting respectively on both sides of the Pearl River or facing the South China Sea. The Gu
Sicily1031
这道题简直坑到爆...最后判断不可达情况的时候要先判断起点和终点是否一样再判断起点终点是否没被记录过,因为样例会出起点终点相同但之前没出现过的,这种情况下要输出0.... /* * Sicily1031Campus.cpp * * Created on: 2015年1月13日 * Author: Prophet */ //邻接矩阵djistra #include #
DAG的深度优先搜索标记学习日志
// Problem#: 12120// Submission#: 3332350// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-n
Sicily1424-奖金
//刚刚熟悉邻接表的使用,由于还是懵懂阶段不小心就把邻接表的顺序层次搞错了,一直wa,结果更改了相应的层就好了 #include "iostream" #include "vector" #include "algorithm" #include "cstring" #include "queue" using namespace std; int in[10001];//入度 //int
sicily1321-robot
//这个实现应该算是将每个点到初始点的最短路径都利用dijkstra算法计算出来然后再找需要的终点的最短路径 //最关键的问题就是别忘记了怎么初始化各个点相应的消耗否则就fata error咯 #include "iostream" #include "cstring" #include "algorithm" #include "queue" using namespace std; i
sicily1090-highways
//自己没有注意数组大小一直在wa //最小生成树中的prim算法 //一开始没有理解好算法导致用了queue结构 //仔细想想发现做了无用功,只用遍历每一个节点就好了 #include "iostream" #include "cstring" #include "queue" using namespace std; int n; int _max; int _min; int f[1
sicily1146-采药(背包问题)
//使用动态规划的方式进行解题 //首先依然是使用一个二维数组作为表示各个状态的容器 //之后i,j分别表示的是状态i以及当前的剩余时间j //因此每一个状态的情况考虑上面就可以最多有j<=总时间种 //再仔细分析各个状态之间的状态:对每种不同的药材都要进行比对在跟新状态之后是否与未更新前的那个状态价值更高 //选取其中价值更高的一项再进行状态转换 #include "iostre
sicily1021-couples
//简单利用栈的功能解决就好 //开始时候录入cp关系可以利用数组录入相应的关系 #include "iostream" #include "stack" #include "cstring" using namespace std; int main(){ int c; int couple[200002]; while(cin>>c&&c!=0){
301



被折叠的 条评论
为什么被折叠?



