建设银行不会自动弹出网站,中国互联网公司排名2022,建设网站都要什么,苏州建设建设信息网站目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路1、报文回路2、异常情况#xff1a;3、解题思路 五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 专栏导读
本专栏收录于《华为OD机试#xff08;JAVA3、解题思路 五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中刷题点这里 专栏导读
本专栏收录于《华为OD机试JAVA真题A卷B卷》。
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。
一、题目描述
IGMP协议中响应报文和查询报文是维系组播通路的两个重要报文在一条已经建立的组播通路中两个相邻的host和routerrouter会给host发送查询报文host收到查询报文后给router回复一个响应报文以维持之间的关系一旦关系断裂那么这条组播通路就异常了。
现通过某种手段抓取到了host和router两者通讯的所有响应报文和查询报文请分析该组播通路是否正常。
二、输入描述
第一行抓到的报文数量CC 100后续C行依次输入设备节点D1和D2表示从D1到D2发送了单向的报文D1和D2用空格隔开。
三、输出描述
组播通路是否正常正常输出true异常输出false。
四、解题思路
分析以下题意
router会给host发送查询报文host收到查询报文后给router回复一个响应报文一旦关系断裂就异常了。
大白话就是我给你了你也得给我你不给我咱俩就闹掰了俗称“礼尚往来”。
1、报文回路
礼尚往来返回true
2、异常情况
D2和D3眉来眼去完全不顾及D1的真心付出返回false断绝关系。
3、解题思路
输入报文数量C定义map存储关系“keyrouter发起者valuerouter发起者的多个host接受者后续C行依次输入设备节点D1和D2加入到map中遍历关系集合获取router发起者获取router发起者的多个host接受者获取“host接受者”的host接受者比较是否“礼尚往来”我给你了你没还我直接断绝关系返回false礼尚往来和和美美一家人返回true
五、Java算法源码
package com.guor.od;import java.util.*;public class OdTest01 {public static void main(String[] args) {Scanner sc new Scanner(System.in);// 报文数量Cint C Integer.valueOf(sc.nextLine());/*** keyrouter发起者* valuerouter发起者的多个host接受者*/MapString, HashSetString map new HashMap();// 后续C行依次输入设备节点D1和D2for (int i 0; i C; i) {String[] arr sc.nextLine().split( );// 发送查询报文String router arr[0];// 发送响应报文String host arr[1];map.putIfAbsent(router, new HashSet());map.putIfAbsent(host, new HashSet());map.get(router).add(host);}// 遍历关系集合获取router发起者for (String send : map.keySet()) {// 获取router发起者的多个host接受者for (String receive : map.get(send)) {/*** 获取“host接受者”的host接受者比较是否“礼尚往来”* 我给你了你没还我直接断绝关系返回false*/if (!map.get(receive).contains(send)) {System.out.println(fasle);return;}}}// 礼尚往来和和美美一家人System.out.println(true);}
}六、效果展示
1、输入
4 D1 D2 D2 D3 D3 D2 D2 D1
2、输出
礼尚往来返回true 下一篇华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】感谢fly晨发现这个问题并提供更优质的算法
本文收录于华为OD机试JAVA真题A卷B卷
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。