题号:NC19823
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
终于活成了自己讨厌的样子。
你喜欢大海,我爱过你。
你喜欢草原,我绿过你。
栗子米发现了世界上的爱情充满了妥协,迁就,交易,背叛,原谅和无限的伤害。
一个宁静的小镇里面,有n个A性别和n个B性别的人,他们互相有着好感,第i个A性别的人与第j个B性别的人的好感为wi,j,B性别的人会选择它们的恋人使得每个人与恋人的好感总和最大,如果有多种方案它们会选择任意一种(任选一种都不会影响答案)。大家都经营着自己的感情,过着幸福而满足的日子。
潘多拉的盒子在一天被揭开,这个时候小镇里来了一位A性别的人,它能通过魔法提高对B性别每个人的好感度,对于第i个人,那么在t时刻好感度会变为bit。而这些B性别的人仍然会以好感总和最大的方式选择恋人。
悲剧还是发生了,请输出从0时刻开始,这个新加入的人会和B性别的每个人会有多少时间成为恋人。如果时间无限长,那么输出-1。
输入描述:
第一行一个整数T(T≤ 100),表示数据组数。
每组数据第一行一个个正整数n(1≤ n≤ 200)。接下来n行,每行n个数字表示wi,j,(1≤ wi,j≤ 106)。
接下来一行n个正整数bi(1≤ bi≤ 107),保证bi两两不同。
保证只有20组数据有n≥ 50。
输出描述:
对于每组数据,输出n行,每行一个实数,表示第i个B性别的人会和新加入的人有多少时间成为恋人,如果相对误差或者绝对误差在10-9之内那么你的答案被认为是正确的。如果时间无限长,那么输出-1。