#P9954. [USACO20OPEN] Cowntact Tracing B

[USACO20OPEN] Cowntact Tracing B

题目描述

由于高传染性的牛传染病 COWVID-19 的爆发,Farmer John 非常担忧他的奶牛们(编号为 1N1\ldots N)的健康。

最近,Farmer John 对他的所有奶牛进行了检测,发现有一部分奶牛对该疾病的检测结果呈阳性。利用牛棚内的视频监控,他得以查看最近的奶牛之间的互动行为,结果发现奶牛们互相打招呼时,她们会握蹄,不幸的是这是一种会将疾病从一头奶牛传播给另一头奶牛的行为。Farmer John 汇总了一个添加了时间戳的清单,每条数据的形式为 (t,x,y)(t,x,y),表示在时间 tt,奶牛 xx 与奶牛 yy 握了蹄。Farmer John 同时还知道以下信息:

(一)他的农场上恰有一头奶牛最初带有携带疾病(我们将这头奶牛称为“零号病人”)。

(二)一旦一头奶牛被感染,她会在接下来的 KK 次握蹄中传染疾病(可能会与同一头奶牛握蹄多次)。握蹄 KK 次后,她不再在此后的握蹄中传染疾病(因为此时她意识到了她会传染疾病,于是会仔细地洗蹄)。

(三)一旦一头奶牛被感染,她会持续处于被感染状态。

不幸的是,Farmer John 不知道他的 NN 头奶牛中的哪一头是零号病人,也不知道 KK 的值!基于他的数据,请帮助他缩小这些未知量的范围。保证至少有一种可能的情况。

输入格式

输入的第一行包含 NN2N1002\le N\le 100)和 TT1T2501\le T\le 250)。下一行包含一个长为 NN 的字符串,每个字符均为 0011,表述目前 Farmer John 的 NN 头奶牛的状态——00 表示一头健康的奶牛,11 表示一头染病的奶牛。以下 TT 行每行包含 Farmer John 的互动清单中的一条记录,由三个整数 ttxxyy 组成,其中 tt 为一次互动发生的正整数时间(t250t\le 250),xxyy 为范围 1N1\ldots N 内的不同整数,表示时间 tt 握蹄的两头奶牛。在每一时刻至多只有一次互动发生。

输出格式

输出一行,包含三个整数 xxyyzz,其中 xx 为可能为零号病人的奶牛数量,yy 为与数据一致的最小可能 KK 值,zz 为与数据一致的最大可能 KK 值(如果通过数据无法推断 KK 的上界,zz 输出 Infinity)。注意可能有 K=0K=0

4 3
1100
7 1 2
5 2 3
6 2 4
1 1 Infinity

提示

样例解释 1

唯一可能是零号病人的是奶牛 11。对于所有的 K>0K>0,奶牛 11 在时刻 77 感染奶牛 22,而奶牛 33 和奶牛 44 均不会被感染。