2025-06-16 21:45 根据题意和样例,目前洛谷数据的 中不带 * 通配符。如果蓝桥杯官方数据中证实带有通配符,那么我们会修改本题数据。
*
网络安全团队需要开发一个系统来监控和检测恶意网络流量。他们收集了一系列已知的恶意请求路径模式,每个模式都有一个对应的风险等级。你的任务是实现一个算法,检测给定的网络请求路径是否匹配这些模式,并返回匹配模式中最高的风险等级。下面是恶意请求路径的相关描述:
/api/users/profile
**
/api/*/delete
/api/users/delete
/api/files/delete
/api/admin/users/delete
/api/admin/**
/api/admin
/api/admin/users
/api/admin/users/profile
/static/**/execute
/static/execute
/static/js/execute
/static/css/js/execute
SAFE
你需要实现一个算法,给定恶意请求路径模式集合和一系列网络请求路径,判断每个网络请求是否触发警报,并且返回触发的最高风险等级。
输入的第一行包含一个正整数 ,表示恶意路径模式的数量
接下来 行,每行包含一个整数 和一个字符串 ,用一个空格分隔,表示一个恶意请求路径模式, 表示风险等级, 表示路径模式。
接下来一行包含一个整数 ,表示要检测的网络请求数量。
接下来 行,每行包含一个字符串 ,表示一个网络请求路径。
对于每个网络请求路径,输出一行,包含检测结果。如果触发警报,输出 ALERT: [风险等级];如果没有触发警报,输出 SAFE。
ALERT: [风险等级]
5 80 /api/admin/** 60 /api/*/delete 75 /*/config/system 90 /api/users/*/password 50 /static/**/execute 8 /api/users/profile /api/admin/users /api/config/delete /dev/config/system /static/js/execute /api/users/123/password /static/css/js/execute /api/admin
SAFE ALERT: 80 ALERT: 60 ALERT: 75 ALERT: 50 ALERT: 90 ALERT: 50 ALERT: 80
【样例说明】
/api/config/delete
config
/dev/config/system
/*/config/system
dev
js
/api/users/123/password
api/users/*/password
123
css/js
【评测用例规模与约定】
对于 的评测用例,;
对于所有评测用例,,,,,。