作品展示的网站,怎么做淘宝客网站做淘客,临沂做企业网站,成都系统定制题目描述 IGMP 协议中响应报文和查询报文#xff0c;是维系组播通路的两个重要报文#xff0c;在一条已经建立的组播通路中两个相邻的 HOST 和 ROUTER#xff0c;ROUTER 会给 HOST 发送查询报文#xff0c;HOST 收到查询报文后给 ROUTER 回复一个响应报文#xff0c;以维持…题目描述 IGMP 协议中响应报文和查询报文是维系组播通路的两个重要报文在一条已经建立的组播通路中两个相邻的 HOST 和 ROUTERROUTER 会给 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());ListRoute 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(ListRoute routes, Route route) {for (Route r : routes) {if (r.equals(route)) {return r;}}return null;}
}
执行结果