当前位置: 首页 > news >正文

有向图的可达性分析

有向图可达性分析

  • 题目描述:

题目描述:

题目首先给出n个英文单词,代表从每个单词的第一个字母可以变换为该单词的最后一个字母,总共有n种情况嘛。 那么问你,从单个字母b开始,能否通过这n个字母变换为字母m? 如果可以则输出yes,否则输出no。 Java代码如何编写?

import java.util.*;
/**
测试用例:1bm-yes3bxxmby-yes2aacc-no4bbbxxmmm-yes5baabbmmaaz-yes1b-no6bccddmbeeffm-yes2bxym-no3maabbc-no*/
public class 有向图可达性2 {public static void main(String[] args) {//1. 邻接表做法,更通用Scanner sc = new Scanner(System.in);int n = sc.nextInt();Map<Integer, Set<Integer>> adj = new HashMap<>();for (int i = 0; i < 26; i++) adj.put(i, new HashSet<>());for (int i = 0; i < n; i++) {String s = sc.next();int start = s.charAt(0) - 'a';int end = s.charAt(s.length()-1) - 'a';adj.get(start).add(end); //添加有向边}//2. BFS, 'b' -> 'm'int src = 'b' - 'a';int dest = 'm' - 'a';Set<Integer> visited = new HashSet<>();Deque<Integer>q = new ArrayDeque<>();q.add(src);visited.add(src);boolean flag = false;//3. 开始查找while (!q.isEmpty()) {int cur = q.poll();if (cur == dest) {flag = true;break;}else{for (int next : adj.get(cur)) {if (!visited.contains(next)) {visited.add(next);q.add(next);}}}}System.out.println(flag ? "YES" : "NO");}
}
http://www.dtcms.com/a/601774.html

相关文章:

  • 网站开发西安网页设计基础项目考核
  • INT305 Machine Learning 机器学习 Pt.8 Bagging 和 Boosting
  • React+Ant design
  • C++四种类型转换cast,其在参数传递时的作用
  • 什么网站可以做图赚钱网站建设主体设计要求
  • 云手机的核心价值
  • L10_参数验证
  • 免费网站制作手机软件的appaso排名优化
  • Java是编译型语言吗?解析Java语言的编译与执行过程
  • Hugging face微调 GPT-2模型
  • 1.3 半监督学习黑科技:如何用少量标注数据提升模型性能,节省90%标注成本?
  • 声学超材料与AI驱动的声振仿真优化设计
  • 罗湖建设公司网站建设企业推广app
  • 2025最新版Python 3.14.0安装使用指南
  • Keil5创建新工程时找不到STM32芯片
  • 重庆企业免费建站网站开发前台后台怎么交互
  • html5可以做交互网站吗西安模板建站公司
  • PostgreSQL 可视化监控利器 —— pg_top 安装与使用全攻略(查看正在执行的SQL占用的资源)
  • C语言 | 文件操作详解与实战示例
  • Spring ThreadPoolTaskExecutor 与 CompletableFuture.supplyAsync 常用实践
  • 网站太卡怎么优化wordpress meta key
  • 现在入局自助KTV,算晚吗?
  • 用Microsoft Visual Studio Installer Projects 2022打包程序,同时安装VC++的运行库等
  • 南宁网站制作建设建设网站需要哪些语言
  • C语言在线编译工具 | 提升编程效率与学习体验
  • ARM《10》_03_字符设备驱动进阶(并发→竞态→同步机制、阻塞io和非阻塞io)
  • 【DaisyUI]】dropdown在点击菜单项之后不关闭,怎么破?
  • 常德公司做网站手机网站怎么做的好
  • 网站建设的可行性报告范文城市宣传片制作公司
  • Go语言编译型:高效的编程语言选择|深入探讨Go语言的编译特性与优势