计蒜客-封印之门(floyd)

深入理解Linux 内核追踪机制 Linux 存在众多 tracing tools,比如 ftrace、perf,他们可用于内核的调试、提高内核的可观测性。众多的工具也意味着繁杂的概念,诸如 tracepoint、trace events、kprobe、eBPF 等,甚至让人搞不清楚他们到底是干什么的。本文尝试理清这些概念。 阅读详情

封印之门

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。

封印之门上有一串文字,只包含小写字母,有 kkk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。

蒜头君战斗力超强,但是不擅计算,请你帮忙蒜头君计算至少需要操作多少次才能解开封印之门。

输入格式

输入第一行一个字符串,长度不大于 100010001000,只包含小写字母,表示封印之门上的文字。

输入第二行一个字符串,只包含小写字母,保证长度和第一个字符串相等,表示能解开封印之门的文字。

输入第三行一个整数 k(0≤k≤676)k(0 \le k \le 676)k(0≤k≤676)。

接下来 kkk 行,每行输出两个空格隔开的字符 aaa, bbb,表示一次操作能把字符 aaa 变换成字符 bbb。

输出格式

如果蒜头君能开启封印之门,输出最少的操作次数。否则输出一行 −1-1−1。

样例输入
abcd
dddd
3
a b
b c
c d
样例输出
6

从一个字符变到另一个字符本质上就是图论中的连通,用邻接矩阵存一下图(可到达的点)

然后比较两个串的对应字符是否可达,用floyd算法求出最短路程,如果可达直接加上最短路程,否则不可达

也就不可能得到最终串

code:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int INF = 0x3f3f3f3f;
int G[30][30];
int main(){
    for(int i = 0; i < 26; i++){
        for(int j = 0; j < 26; j++){
            if(i == j)
               G[i][j] = 0;
            else
               G[i][j] = INF;
        }
    }
    string s1,s2;
    cin >> s1 >> s2;
    int k;
    cin >> k;
    while(k--){
        char a,b;
        cin >> a >> b;
        if(a != b)
            G[a-'a'][b-'a'] = 1;
    }
    for(int k = 0; k < 26; k++){
        for(int i = 0; i < 26; i++){
            for(int j = 0; j < 26; j++){
                G[i][j] = min(G[i][j],G[i][k]+G[k][j]);
            }
        }
    }
    int sum = 0;
    for(int i = 0; i < s1.size(); i++){
        if(G[s1[i]-'a'][s2[i]-'a'] >= INF){
            sum = -1;
            break;
        }
        else
            sum += G[s1[i]-'a'][s2[i]-'a'];
    }
    cout << sum << endl;
    return 0;
}

计算机组成原理(第三版)唐朔飞-第三章系统总线-课后习题 阅读详情

相关推荐

别再只调IoU了!给YOLOv8换上NWDLoss,实测小目标检测精度提升明显

本文深入探讨了YOLOv8在小目标检测中的优化策略,重点介绍了NWDLoss(Normalized Wasserstein Distance Loss)的应用优势。通过对比实验证明,NWDLoss能有效解决传统IoU损失函数的局限性,显著提升小目标检测精度,在遥感影像和交通监控等场景中表现尤为突出。文章提供了详细的代码实现和训练技巧,帮助开发者快速集成这一先进技术。

weixin_29072299的博客 264

H. 封印之门(单向路,不知道脑子怎么了,直接就是双向路)

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。封印之门上有一串文字,只包含小写字母,有 kkk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会...

海绵的博客 363

S32K144 SDK实战:FTM输入捕获模块的配置与应用

本文详细介绍了S32K144 SDK中FTM输入捕获模块的配置与应用实践。从基础认知到开发环境搭建,再到引脚配置和中断处理技巧,全面解析了如何利用FTM模块实现高精度信号测量。特别适用于电机控制、工业测速等场景,帮助开发者快速掌握S32K144的FTM输入捕获功能。

weixin_42566424的博客 217

计蒜客 A1594 --- 封印之门(最短路Floyd和dijkstra)

封印之门 思路(dijkstra) 修改字符(x–>y)就等同于x能到y,那么我们只需要将原串的每个字符到目标串的每个字母走个最短路dijkstra即可,时间复杂度为O(2626len),len代表目标串的长度。 代码 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<map> #include<queue> #includ

qq_45249273的博客 540

MATLAB联合Fluent优化仿真

matlab与fluent交互

keleke_的博客 4722

【FPGA】Robei EDA的使用(10)————如何更新EDA的使用license

#海卑而下,能聚众水;学问笃实,以生光辉。 有的时候,有些问题自己通过查找资料解决,宁愿磨难一下,走点弯路,但收获更深刻的认知;不过,有些问题,问一下别人,可能会避免自己耗费过多时间做无用工,这些问题问会的人是极好的。但是怎样把握这个问题的类型,大约只能靠经验了~ (问我为何出此感言,谁叫我纠结了两天的问题,被人家一句话解决,我这个恨啊) ————————————————————正文开始的分割线———————————————— Robei EDA在使用上会有一个注册码,这个license在获取之后,每一次的

Ninquelote的博客 1002

计蒜客-封印之门【floyd】

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有 kk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅计算,请你

哇-WA 的博客 633

基于Simulink实现电动汽车制动能量回收系统的仿真

通过上述步骤,我们成功实现了基于Simulink的电动汽车制动能量回收系统的仿真研究。该系统能够全面评估制动能量回收系统的性能,验证控制策略的有效性,并通过优化设计提高能量回收效率和制动安全性。引入智能预测:结合人工智能技术,实现更智能的能量回收控制策略。扩展功能:增加对多种车型和制动场景的支持,提升系统通用性。实验验证:将仿真模型应用于实际硬件,进行实验验证,评估其在实际工况下的表现。

xiaoheshang_123的博客 336

【计蒜客 A1594 --- 封印之门】floyd

【计蒜客 A1594 --- 封印之门】floyd 题目来源:点击进入【计蒜客 A1594 — 封印之门】 Description 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有k种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅

来日浅谈的博客 946

摩尔线程嵌入式面试题及参考答案(2万字长文)

说一下你对 drm 框架的理解。 DRM(Direct Rendering Manager)是 Linux 系统中用于管理图形显示设备的一个重要框架。 从架构层面来讲,它处于内核空间,主要目的是为用户空间的图形应用程序提供一个统一的接口来访问图形硬件。DRM 包括内核态的驱动模块和用户态的库。内核态的驱动负责和硬件进行交互,比如对显存的管理、硬件寄存器的配置等。用户态的库则方便应用程序利用内核态提供的功能进行图形渲染等操作。 在图形显示的具体流程中,DRM 可以控制显示设备的分辨率、刷

大模型大数据攻城狮的专栏 1227

第八届传智杯微信小程序开发挑战赛练习题库

本文是微信小程序开发练习题库,包含单选题、多选题和判断题三种题型。单选题主要考察小程序开发基础知识,如数组方法、组件使用、API调用等;多选题涵盖样式属性、页面跳转、数据处理等综合知识;判断题则测试开发者对小程序特性、生命周期、功能限制等概念的理解。题目内容涉及小程序开发的各个方面,包括组件使用、API调用、数据绑定、页面配置等核心知识点,适合开发者进行自我测试和知识巩固。

qq_73044452的博客 505

计蒜客-封印之门(简单Floyd应用)

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有 kkk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅计算,请...

PleasantlY1的博客 806

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

9792

计蒜客A1594 封印之门

传送门:计蒜客A1594 封印之门 文章目录题目描述:测试样例:思路:AC代码: 题目描述: 测试样例: 样例输入: abcd dddd 3 a b b c c d 样例输出: 6 思路:   floyd多源最短路,求出任意两个字母变换的最少次数。 AC代码: #include<cstdio> #include<algorithm> #include<queue> #include<vector> #include<cstring> #def

Lucas9的博客 878

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计蒜客 封印之门(最短路,floyd)

封印之门 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有 kk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不...

深海的威廉 550

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计蒜客 封印之门(思维+Floyd)

传送门思路:    个人感觉是很巧妙的一题啊,总觉得很熟悉但就是差点意思...   首先分析一下bfs是没戏了,每个字母最多26中变换方法(可以自己变成自己),最长1000,26^1000 ,hhh     感觉这题加深了对Floyd的理解吧,由于是小写字母也就是最多有26个城市,我们可以先不去考虑整个字符串,只看把某个字符变为要求的字符需要几步,然后在遍历整个串求出总共需要的步数即可.我们把每一...

Marcus-Bao的个人主页 616

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计蒜客蓝桥杯省赛B组模拟赛(一)封印之门(Floyd)

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有kk种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅计算,请你...

From now on...的Blogs 492

JSK-A1594封印之门,Floyd最短路

题目链接 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有 kk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅计算...

giggle66的博客 358

蓝桥杯--封印之门( Floyd算法)

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有 一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。封印之门上有一串 文字,只包含小写字母,有 k种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意 多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。蒜 头君战斗力超强,但是不擅计算,请你帮忙...

qq_272941692的博客 1313

封印之门——Floyd算法应用

封印之门 来自蓝桥杯 计蒜客传送门 没什么难度。。。 刚刚才知道字母一共有26个,不是24个,WA了好久。。。 #include<iostream> #include<cstring> #include<string> #define INF 0x3f3f3f3f // +∞ using namespace std; int main(void) { i...

weixin_45370985的博客 226

计蒜客 A1594 封印之门 有向图的全源最短路问题

题目描述 原题链接 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有 kkk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅计算,请你帮忙蒜头君计算至少需要操作多少次才能解开封印之门。 输入格式 输入第一行一个字符串,长度不大

借用一下服务器 268

计蒜客 封印之门

#include<iostream> #include<string> using namespace std; char table[26][26]; int min(int a,int b) { return a>b?b:a; } int main() { int n; string a,b; cin>>a>>b; int i,...

weixin_42303355的博客 153

蓝桥杯 封印之门

)2018 蓝桥杯省赛 B 组模拟赛(一) A1594 封印之门java版 用floyd算法,简便高效; //封印之路 import java.util.*; public class Main { public static int [][]flo = new int[30][30];//设置路径; public static int num; public static int sum; ...

weixin_45795519的博客 259

封印之门

封印之门 输出格式 如果蒜头君能开启封印之门,输出最少的操作次数。否则输出一行 −1。 样例输入 abcd dddd 3 a b b c c d 样例输出 6 题目来源 2018 蓝桥杯省赛 B 组模拟赛(一) 思路 用最短路求两个字母转化的最小变化次数,权值为1 import java.util.*; import java.math.*; publ...

小白太白的博客 190

封印之门 转换为图 最短路floyd

蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有k种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不擅计算,请你帮忙蒜...

thunder的博客 475

2018 蓝桥杯省赛 B 组模拟赛(一)封印之门(最短路)

题目链接 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。 封印之门上有一串文字,只包含小写字母,有kk种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。 蒜头君战斗力超强,但是不...

Akatsuki 654
上一篇: 计蒜客-数列求值(数学)
下一篇: 计蒜客-天上的星星(二维前缀和)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值