1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

思路

  • 每条规则 A -> B 是有向边。
  • 先在规则图上用 DFS 三色标记 判环:0=未访,1=在栈,2=已完成;遇到回到“在栈”即有环。
  • 若无环:对每个发生的告警做一次 DFS,找出它能到达的所有告警,这些都被它抑制。把所有发生告警的可达点并起来,最后输出 发生集合 - 被抑制集合,并按字典序升序。

P3687.第2题-故障告警抑制关系检测

    1000ms Tried: 26 Accepted: 5 Difficulty: 5 所属公司 : 网易
    算法与标签>拓扑排序

题目内容

在云音乐平台的分布式系统监控中,当出现服务故障时会产生多种类型的告警。为避免告警风暴,运维团队配置了告警抑制规则。一条抑制规则形如 A−>BA->BA−>B ,表示当告警 AAA 发生时,应该抑制(即不通知)告警 BBB 。这种抑制关系具有传递性,即如果存在 A−>BA->BA−>B 和 B−>CB->CB−>C ,那么 AAA 发生时也会抑制 CCC 。然而,如果抑制规则配置存在循环抑制(例如 A−>B,B−>C,C−>AA->B,B->C,C->AA−>B,B−>C,C−>A),将导致逻辑冲突,使得告警系统无法正确处理。

请实现一个功能,用于:

1.检查给定的抑制规则集合中是否存在循环抑制

2.处理告警事件,根据抑制规则输出最终需要通知的告警列表

输入描述

每组输入由如下部分构成,有多组输入,如遇到空行则输入结束

第一行:M N,M、NM\, N,M、NMN,M、N 均为正整数,表示后续有 MMM 条规则,NNN 表示后续有 NNN 条原始告警事件

MMM 行规则,每一行为两个字符串 AAA BBB,表示一条抑制规则 A−>B,A/BA->B,A/BA−>B,A/B 均为不包含空格的字符串,字符串中间以空格分隔

NNN 行告警名,每一个行是一个字符串,表示原始告警名

输出描述

如果存在循环抑制,输出字符串 “CYCLE“CYCLE“CYCLE DETECTED"DETECTED"DETECTED"

如果没有循环,输出抑制处理后最终需要通知的告警(即未被任何其他发生的告警抑制的告警),按告警名的字典序升序输出,每一行输出一个。

样例1

输入

2 3
A B
B C
C
B
D

输出

B
D

样例2

输入

3 2
A B
B C
C A
A
B

输出

CYCLE DETECTED

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 33ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?