华为OD机试之报文回路(Java源码)

题目描述

IGMP 协议中响应报文和查询报文,是维系组播通路的两个重要报文,在一条已经建立的组播通路中两个相邻的 HOST 和 ROUTER,ROUTER 会给 HOST 发送查询报文,HOST 收到查询报文后给 ROUTER 回复一个响应报文,以维持相之间的关系,一旦这关系断裂,那么这条组播通路就异常”了。现通过某种手段,抓取到了 HOST 和 ROUTER 两者通讯的所有响应报文和查询报文,请分析该组播通路是否“正常”

输入描述

第一行抓到的报文数量C (C≤100) ,后续C行依次输入设备节点D1和D2,表示从D1到D2发送了单向的报文,D1和D2用空格隔开。

输出描述

组播通路是否“正常”,正常输出True, 异常输出False。

用例

输入5
1 2
2 3
3 2
1 2
2 1
输出True
说明
输入3
1 3
3 2
2 3
输出False
说明

具体·解析看代码

package com.bytesoc.calc;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class T70 {static class Route {int start;int end;boolean startToEnd;boolean endToStart;public boolean equals(Route obj) {return (obj.start == this.start && obj.end == this.end) || (obj.start == this.end && obj.end == this.start);}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int line = Integer.parseInt(sc.nextLine());List<Route> routes = new ArrayList<>();for (int i = 0; i < line; i++) {Route route = new Route();String str = sc.nextLine();route.start = Integer.parseInt(str.split(" ")[0]);route.end = Integer.parseInt(str.split(" ")[1]);Route objRoute = findRoute(routes, route);if (objRoute == null) {route.startToEnd = true;routes.add(route);} else {System.out.println(objRoute.end + "-" + route.start);if (objRoute.end == route.start) {objRoute.endToStart = true;}}}for (Route r : routes) {if (r.startToEnd == false || r.endToStart == false) {System.out.println("FALSE");System.exit(0);}}System.out.println("TRUE");}public static Route findRoute(List<Route> routes, Route route) {for (Route r : routes) {if (r.equals(route)) {return r;}}return null;}
}

执行结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53465.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题——回文链表

回文链表 题目链接 回文结构即字符串正序逆序完全一致&#xff0c;如“1 2 3 4 3 2 1”&#xff0c;那么我们就要想办法同时比较链表头和链表尾的元素&#xff0c;看其是否相等。 下面介绍一种最常用的方法&#xff1a; 思路 如果我们仔细观察回文结构&#xff0c;就会得到一…

差值结构的相互作用能

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由6张二值化的图片组成&#xff0c;让A&#xff0c;B中各有3个点&#xff0c;且不重合&#xff0c;统计迭代次数并排序。 其中有10组数据 差值结构 A-B 迭代次数 构造平均列 平均列…

基于 Redux + TypeScript 实现强类型检查和对 Json 的数据清理

基于 Redux TypeScript 实现强类型检查和对 Json 的数据清理 突然像是打通了任督二脉一样就用了 generics 搞定了之前一直用 any 实现的类型…… 关于 Redux 的部分&#xff0c;这里不多赘述&#xff0c;基本的实现都在这里&#xff1a;Redux Toolkit 调用 API 的四种方式 和…

Spring 事务详解(注解方式)

目 录 序言 1、编程式事务 2、配置声明式事务 2.1 基于TransactionProxyFactoryBean的方式&#xff08;不常用&#xff0c;因为要为每一个类配置TransactionProxyFactoryBean&#xff09; 2.2 基于AspectJ的XML方式&#xff08;常用&#xff0c;可配置在某些类下的所有子…

【C++】string类

目录 &#x1f31e;专栏导读 &#x1f31b;为什么学习string类&#xff1f; ⭐C语言中的字符串 &#x1f31b;标准库中的string类 ⭐基本使用string ⭐string类的常用接口 ⭐总结&#xff1a; &#x1f31b;范围for的使用 &#x1f31e;专栏导读 &#x1f31f;作者简介…

车载总线系列——J1939 二

车载总线系列——J1939 二 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 没有人关注你。也无需有人关注你。你必须承认自己的价值&#xff0c;你不能站…

VUE之JWT前后端分离认证,学生管理系统

参考资料: SpringBoot搭建教程 SpringCloud搭建教程 JWT视频教程 JWT官网 Vue视频教程 JWT视频参考资料、VUE视频资料,及前后端demo 特别有参考价值的JWT博客1 特别有参考价值的JWT博客2 cookie、localstorage和sessionStorage的区别1 cookie、localstorage和sessi…

聊聊STM32HAL库的话题

STM32HAL库是STMicroelectronics公司为STM32微控制器系列提供的一套软件开发库&#xff0c;它提供了一系列功能丰富的API&#xff0c;方便开发者进行STM32微控制器的软件开发。 首先&#xff0c;我们可以讨论一下STM32HAL库的特点和优势。STM32HAL库具有以下几个特点&#xff1…

Springboot部署ELK实战

Springboot部署ELK实战 1、部署docker、docker-compose环境安装docker安装docker-compose 2、搭建elk1、构建目录&&配置文件1、docker-compose.yml 文档2、Kibana.yml3、log-config.conf 2、添加es分词器插件3、启动 3、Springboot项目引入es、logStash配置1、引入依赖…

数据可视化(六)多个子图及seaborn使用

1.多个子图绘制 #绘制多个子图 #subplot&#xff08;*args&#xff0c;**kwargs&#xff09; 每个subplot函数只能绘制一个子图 #subplots&#xff08;nrows&#xff0c;ncols&#xff09; #fig_add_subplot(行&#xff0c;列&#xff0c;区域) #绘制子图第一种方式 plt.subp…

C/C++实现librosa音频处理库melspectrogram和mfcc

C/C实现librosa音频处理库melspectrogram和mfcc 目录 C/C实现librosa音频处理库melspectrogram和mfcc 1.项目结构 2.依赖环境 3.C librosa音频处理库实现 (1) 对齐读取音频文件 (2) 对齐melspectrogram (3) 对齐MFCC 4.Demo运行 5.librosa库C源码下载 深度学习语音处…

没有配置redis但是报错连接redis失败

问题 没有配置redis但是报错连接redis失败 检查maven配置是否引入了redis依赖&#xff08;可能是传递依赖&#xff0c;最好检查引进来的公共工程 解决办法 只需要在该工程application.yml文件中配置一下 redis就好&#xff0c;或者移除redis依赖