如何上传自己的做的网站,公司网站服务器维护,wordpress中英双语,html5导航网站源码新2023年华为OD真题机考题库大全-带答案#xff08;持续更新)or2023华为OD统一考试#xff08;AB卷#xff09;题库清单-带答案#xff08;持续更新#xff09; 题目描述 某系统中有众多服务#xff0c;每个服务用字符串#xff08;只包含字母和数字#xff0c;长度持续更新)or2023华为OD统一考试AB卷题库清单-带答案持续更新 题目描述 某系统中有众多服务每个服务用字符串只包含字母和数字长度10唯一标识服务间可能有依赖关系如A依赖B则当B故障时导致A也故障。 依赖具有传递性如A依赖BB依赖C当C故障时导致B故障也导致A故障。 给出所有依赖关系以及当前已知故障服务要求输出所有正常服务。 依赖关系服务1-服务2 表示“服务1”依赖“服务2” 不必考虑输入异常用例保证依赖关系列表、故障列表非空且依赖关系数故障服务数都不会超过3000服务标识格式正常。 输入描述: 半角逗号分隔的依赖关系列表换行 半角逗号分隔的故障服务列表 输出描述: 依赖关系列表中提及的所有服务中可以正常工作的服务列表用半角逗号分隔按依赖关系列表中出现的次序排序。 特别的没有正常节点输出单独一个半角逗号。 示例1 输入输出示例仅供调试后台判题数据一般不包含示例 输入 a1-a2,a5-a6,a2-a3 a5,a2 输出 a6,a3 说明 a1依赖a2a2依赖a3所以a2故障导致a1不可用但不影响a3a5故障不影响a6。 所以可用的是a3、a6在依赖关系列表中a6先出现所以输出:a6,a3。 示例2 输入输出示例仅供调试后台判题数据一般不包含示例 输入 a1-a2 a2 输出 , 说明 a1依赖a2a2故障导致a1也故障没有正常节点输出一个逗号。 public class ServiceFailure {public static void main(String[] args) {Scanner sc new Scanner(System.in);String[]services sc.nextLine().split(,);String[]error sc.nextLine().split(,);//用Map来存储依赖关系MapString,String ser new LinkedHashMap();for (int i 0; i services.length; i){String[]equ services[i].split(-);ser.put(equ[0], equ[1]);}check(ser,error);}public static void check(MapString,String ser,String[] error){for (int i 0; i error.length; i){String errorequ error[i];//移除坏的设备IteratorMap.EntryString,String it ser.entrySet().iterator();while (it.hasNext()){Map.EntryString,String entry it.next();if (entry.getValue().equals(errorequ)){it.remove();}}//保证不了按输入顺序排序/* ser ser.entrySet().stream().filter(entry - !entry.getValue().equals(errorequ)).collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue));*/}//a1-a2,a5-a6,a2-a3 a5,a2//输出正常的服务器号if (ser.size() 0){System.out.println(,);}else {IteratorMap.EntryString,String it ser.entrySet().iterator();while (it.hasNext()){Map.EntryString,String entry it.next();System.out.print(entry.getValue());if (!it.hasNext()){break;}System.out.print(,);}}}
}