欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1846G.Rudolf and CodeVid-23
Rudolf and CodeVid-23
题目描述
一种名为“CodeVid-23”的新病毒正在程序员中传播。Rudolf 作为一名程序员,也未能幸免。
共有 种症状,编号从 到 ,感染后可能出现。起初,Rudolf 已经有了一些症状。他去药店买了 种药。
对于每种药,已知需要服用的天数,以及它能消除的症状集合。不幸的是,药物通常有副作用。因此,对于每种药,还知道服用时会出现的症状集合。
Rudolf 发现,同时服用多种药物非常不健康。
Rudolf 希望尽快痊愈。因此,他请你计算消除所有症状所需的最少天数,或者判断是否无法治愈。
输入格式
第一行包含一个整数 ,表示测试用例的数量。
接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 ,分别表示症状数和药物数。
第二行包含一个长度为 的仅由 和 组成的字符串,描述 Rudolf 当前的症状。如果第 个字符为 ,则 Rudolf 有第 种症状,否则没有。
接下来有 行,描述每种药物。
每种药物的第一行包含一个整数 ,表示该药物需要服用的天数。
接下来的两行分别为长度为 的仅由 和 组成的字符串,分别描述该药物能消除的症状和服用后出现的副作用症状。
在第一行中,第 位为 表示该药物能消除第 种症状,否则不能。
在第二行中,第 位为 表示服用该药物后会出现第 种症状,否则不会。
不同的药物可能有相同的消除症状和副作用集合。如果某药物能消除某种症状,则该症状不会出现在副作用中。
所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出一个整数,表示 Rudolf 消除所有症状所需的最少天数。如果无法消除所有症状,输出 。
说明/提示
在第一个样例中,可以先使用第 种药物,此时症状变为“00101”。然后使用第 种药物,所有症状都消失,总天数为 。另一种方案是依次使用第 种药物,也能消除所有症状,但总天数为 。
在第二个样例中,初始时没有任何症状,因此治疗天数为 。
在第三个样例中,没有办法消除所有症状。
由 ChatGPT 4.1 翻译
样例
4
5 4
10011
3
10000
00110
3
00101
00000
3
01010
00100
5
11010
00100
4 1
0000
10
1011
0100
2 2
11
2
10
01
3
01
10
2 3
11
3
01
10
3
10
00
4
10
01
8
0
-1
6
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |