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

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

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

输入格式

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

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

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

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

输出格式

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

样例输入

abcd
dddd
3
a b
b c
c d

样例输出

6

转化成图和矩阵的方法。

/** 封印之门,转化为图的问题*/
package lanqiao;
import java.util.Scanner;
public class fengyin_door {public static int min(int a,int b) {if(a>b) a=b;return a;}public static void main(String[] args) {// TODO Auto-generated method stub//利用图和矩阵的思想解决int N=1010;int inf=999999;int[][] g=new int[30][30];//26阶矩阵char[] fengyin=new char[N];char[] jiefeng=new char[N];int x;int len;for(int i=0;i<26;++i)for(int j=0;j<26;++j) {if(i==j) {g[i][j]=0;//自己到自己则置为0}else {g[i][j]=inf;//初始无此路径,则无穷}}Scanner cin=new Scanner(System.in);fengyin=cin.next().toCharArray();len=fengyin.length;jiefeng=cin.next().toCharArray();char a,b;x=cin.nextInt();for(int i=0;i<x;i++) {a=cin.next().charAt(0);b=cin.next().charAt(0);if(a!=b) g[a-'a'][b-'a']=1;//a-b是一条路径则置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]);//和inf(无穷)比更新更小的;}int sum=0;for(int i=0;i<len;++i) {if(g[fengyin[i]-'a'][jiefeng[i]-'a']>=inf) {sum=-1;break;}else {sum+=g[fengyin[i]-'a'][jiefeng[i]-'a'];}}System.out.println(sum);}}

计蒜客2018 蓝桥杯省赛 B 组模拟赛(一)-H题封印之门相关推荐

  1. 计蒜客2018蓝桥杯省赛 B 组模拟赛(一)——H:封印之门

    其实就是相当于图中找最短路.. 多源最短路用floyd比较好,下面是代码. #include<cstdio> #include<iostream> #include<st ...

  2. 计蒜客2018 蓝桥杯省赛 B 组模拟赛(一)

    1,结果填空:年龄 今天蒜头君带着花椰妹和朋友们一起聚会,当朋友们问起年龄的时候,蒜头君打了一个哑谜(毕竟年龄是女孩子的隐私)说:"我的年龄是花椰妹年龄个位数和十位数之和的二倍". ...

  3. 计蒜客2018蓝桥杯省赛B组模拟赛(一)题目及解析(未完待续)

    一.题目列表 A. 结果填空:年龄         分值: 3 B. 结果填空:开关灯     分值: 7 C. 结果填空:U型数字  分值: 9 D. 代码填空:LIS         分值: 11 ...

  4. 计蒜客2018蓝桥杯省赛B组模拟赛(一)题目及解析

    转载自: https://blog.csdn.net/nihaopeng521/article/details/79470326 一.题目列表 A. 结果填空:年龄         分值: 3 B. ...

  5. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,剩下D题不知如何下手,望大佬指教. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:计算周长 B. 结果填空:七巧板 C. 结果填空:苹果 ...

  6. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,更新完毕. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:有趣的数字 B. 结果填空:爬楼梯 C. 结果填空:七巧板 D. 结果填空:苹果 ...

  7. 计蒜客2020蓝桥杯大学A组模拟赛题解

    计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...

  8. 计蒜客2019蓝桥杯省赛B组模拟赛(一)题目及解析

    蓝桥杯历年真题题目及题解目录汇总   A. 结果填空:钟表 题库链接 分值: 5 一天蒜头君 22:28:45 开始睡觉,06:24:26 醒来之后,蒜头君在想,今天我睡了多久? 请你告诉蒜头君睡了& ...

  9. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛(一)

    题目传送门 建立了自己的个人博客,朝着秃头的路上一去不返... 作者是个打铁弱鸡,若各位大佬发现了错误请在评论指出. A. 结果填空:有趣的数字 蓝桥杯标准的送温暖题,枚举每个数判断是否含有数字5并进 ...

最新文章

  1. 敲的php代码怎么预览,php代码实现文件的预览
  2. AI一分钟 | 张亚勤:保护用户数据安全是百度的第一原则;美国开通全球首条高速自动驾驶测试路...
  3. HDU 2602 Bone Collector DP(01背包)
  4. php 中 fastcgi
  5. python符号运算_用Python做科学计算-SymPy符号运算
  6. 揭秘!疫情下的阿里员工如何上班?
  7. 知到大学生创业基础(上海理工大学)期末考试试题汇总(含答案)
  8. Python 源代码代码打包成 whl 文件
  9. Windows 11 配置使用 Edge 浏览器的 IE 兼容模式(永久)
  10. 在Windows上将桌面图标做成贪吃蛇游戏
  11. 【设计模式】-常见面试题汇总
  12. 判断二极管导通例题_几种二极管的检测方法(普通,稳压,双向触发)
  13. 医院PACS系统之安装(win10)
  14. 2019年诺贝尔生理医学奖揭晓 |动图展示历年生理学奖
  15. Magento热销产品Luxe_Bestsellers使用教程
  16. AES-GCM模式代码演示
  17. Spring boot之Actutor
  18. NPOI合并单元格后边框显示不正确?
  19. 西南大学大数据8天实训
  20. linux下ga-g31m-es2c v2.3 主板网卡atheros ar8132 驱动安装

热门文章

  1. p设计一个Person类,属性有姓名、年龄、性别,创建方法personInfo,打印输出这个人的信息;创建Student类,继承Person类,属性有学院college,班级Group,重写父类Per
  2. 如何使用远程桌面连接远程计算机?
  3. 可兼容H27U1G8F2CTR的物料AFND1G08U3-CKA
  4. 签名不对,请检查签名是否与开放平台上填写的一致。
  5. 简练网软考知识点整理-项目整体绩效测量基准
  6. fprintf与fscanf
  7. 使用树莓派制作的远程开门器
  8. 拼写单词(leetcode 1160)
  9. 火线,零线,地线各自颜色和作用(转载)
  10. License Server